Python numpy库 shape属性和reshape()方法

系统 1892 0

shape是数组array的 属性 ;reshape()是数组array的 方法

shape属性可以获得当前array的形状:

            
              import numpy as np

a = np.array([1, 2, 3, 4, 5, 6, 7, 8])  # 一维数组
print(a.shape)  # 值为(8,)
print(a.shape[0])  # 值为8,因为有8个数据
# print(a.shape[1])  # IndexError: tuple index out of range

a = np.array([[1, 2, 3, 4],[5, 6, 7, 8]])  # 二维数组
print(a.shape)  # 值为(2, 4)
print(a.shape[0])  # 值为2,最外层矩阵有2个元素,2个元素还是矩阵。
print(a.shape[1])  # 值为4,内层矩阵有4个元素。
# print(a.shape[2])  # IndexError: tuple index out of range

y = np.zeros((2, 3, 4, 5))
print(y.shape)  # 值为(2, 3, 4, 5)
print(y)
            
          

y = np.zeros((2, 3, 4, 5))运行结果:

Python numpy库 shape属性和reshape()方法_第1张图片

reshape()方法用于改变数组的形状(数组的形状会改变,但是数组中的值不会改变):

Python numpy库 shape属性和reshape()方法_第2张图片

变成的新形状中所包含的元素个数必须符合原来元素个数。如果数组元素发生变化的时候,就会报错:

Python numpy库 shape属性和reshape()方法_第3张图片

reshape()函数生成的新数组和原始数组公用一个内存,也就是说,不管是改变新数组还是原始数组的元素,另一个数组也会随之改变:

Python numpy库 shape属性和reshape()方法_第4张图片

当不知道某一个维度值为多大时,可以使用-1:

Python numpy库 shape属性和reshape()方法_第5张图片

Python numpy库 shape属性和reshape()方法_第6张图片

Python numpy库 shape属性和reshape()方法_第7张图片

-1只能使用一次,否则会报错(有多种输出可能):

Python numpy库 shape属性和reshape()方法_第8张图片

参考:

  1. https://blog.csdn.net/qq_28618765/article/details/78083895
  2. https://blog.csdn.net/u010916338/article/details/84066369
  3. https://blog.csdn.net/m0_37592397/article/details/78695318

更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论