1. 文章
  2. 文章详情

Numpy数组 -- shape属性

Numpy 是用来处理矩阵数组。

shape 属性

对于shape函数,官方文档说明:
the dimensions of the array. This is a tuple of integers indicating the size of the array in each dimension.
即数组的维度,是一个整数的元组,元组中的每一个元素对应着每一维度的大小(size)。
也就是若元组只有一个元素,则说明这个数组是一维数组:如元组(2,) 表示一维数组,只含有2个元素;同理,可知(1,3)表示的是一个2维数组,因为含有2个元素 :1,3
举例说明:
一维数组

import numpy as np

a = np.array([1,2,3])
print(a.shape) # 输出 (3,)

说明:这里输出的元组(3,)按官方的文档理解,这里的3表示的是第一个维度中元素的大小(size);


同理,对于二维数组myarray,可推测出myarray.shape输出的应该类似(n,m)只含有两个元素的元组。
其中,第一个元素n代表中一维数组中元素的个数;m代表第二维度中元素的个数。

import numpy as np

a = np.array(
[
[
[
[-0.17224166,-0.11185377,0.02444573,0.09552176,0.01056417],
[-0.10609546,0.04960158,0.18027991,-0.08625642,0.0238278 ],
[-0.13819292,-0.07372143,0.08807033,-0.02365301,0.06484319]
],

[
[-0.17117506,-0.05400578,-0.00562637,0.08428282,-0.00631962],
[ 0.18898949,0.0796549,-0.05788077,0.09364827,-0.04269165],
[ 0.0850347,0.07214321,-0.10616147,0.14530592,-0.02040726]
],
[
[ 0.01458469,0.14067037,0.13221757,0.04976867,0.08351657],
[-0.0596788,0.01548149,-0.10719974,-0.09250227,0.08237197],
[-0.05029497,-0.04636449,0.02026696,0.06022466,0.02867463]
]
]
]
)

print(a.shape) # (1, 3, 3, 5)

总结

对于numpy中数组的shape属性输出的元组,有两个结论:
元组的元素的个数等于维度数
元组中每一个元素又代表中每一维度元素的个数(从左到右,依次为第一维度中元素的个数,第二维度中元素的个数...第n维度元素的个数)
如,若某一个numpy数组a调用shape输出为(2,3,3,1) 我们根据上面的结论,就可以很快的知道这是一个4维的数组。
其中,第一个维度只有2个元素。第二个维度有3个元素,第三个维度也有3个元素,最后的第四个维度有1个元素。

发表评论

登录后才能评论

评论列表(0条)