• 改变维度


    1.视图变维: 返回一个具有新维度的新数组对象,且数据共享。

      reshape:重新设置维度

      ravel:将复杂的数组拆解为一个维度的数组

    a = np.arange(1, 9)
    print(a)
    # [1 2 3 4 5 6 7 8]
    c = a.reshape(2, 2, 2)
    print(c)
    # [[[1 2]
    #   [3 4]]
    #
    #  [[5 6]
    #   [7 8]]]
    d = c.ravel() 
    print(d)   # [1 2 3 4 5 6 7 8]

    2.复制数组:返回一个具有新维度的新数组对象,数据独立

    e = c.flatten()
    print(e)   # [1 2 3 4 5 6 7 8]

    然后在进行一下测试,看下结果,你会发现e数组没有发生变化 ,其他的都发生了变化

    a += 10
    print(a, c, d, e, sep="
    ")
    # [11 12 13 14 15 16 17 18]
    # [[[11 12]
    #   [13 14]]
    #
    #  [[15 16]
    #   [17 18]]]
    # [11 12 13 14 15 16 17 18]
    # [1 2 3 4 5 6 7 8]

    3.就地变维 : 在原数组对象之上,改变其维度,不返回新数组

    xxx.shape = ...

    a.shape = (2, 2, 2)
    # [[[11 12]
    #   [13 14]]
    #
    #  [[15 16]
    #   [17 18]]]
    xxx.resize(...)
    a.resize(4, 2)
    # [[11 12]
    #  [13 14]
    #  [15 16]
    #  [17 18]]
  • 相关阅读:
    -mysql-锁2
    -mysql-锁机制分为表级锁和行级锁
    JDBC

    JDBC接口介绍之Statement
    JDBC
    -Java-泛型
    JDBC的介绍和数据库的连接
    2014年9月1日 总结
    MediaRecorder test
  • 原文地址:https://www.cnblogs.com/zengsf/p/10060682.html
Copyright © 2020-2023  润新知