shape 属性
对于shape函数,官方文档是这么说明:
the dimensions of the array. This is a tuple of integers indicating the size of the array in each dimension.
直译:数组的维度。这是一个整数的元组,元组中的每一个元素对应着每一维度的大小(size)。
举例说明
一维数组
// An highlighted block
import numpy as np
a = np.array([1,2,3])
print(a.shape) # 输出 (3,)
说明:这里输出的元组(3,)按官方的文档理解,这里的3表示的是第一个维度中元素的大小(size);
同理,对于二维数组myarray,可推测出myarray.shape输出的应该类似(n,m)只含有两个元素的元组。
其中,第一个元素n代表中一维数组中元素的个数;m代表第二维度中元素的个数。
// An highlighted block
b = np.array([[1,2,3],[3,4,5]])
print(b.shape) # 输出(2,3)
元组(2,3) 说明这是一个二维数组,其中第一个维度含有2个元素,第二个维度中每一个元素都含有3个元素(1,2,3).
*第一维度可以理解为行数,第二维度可以理解为列数,第三维度可以理解为深度 *
总结
通过以上的例子,我们可以知道对于numpy中数组的shape属性输出的元组,有以下两个结论:
- 元组的元素的个数等于维度数
- 元组中每一个元素又代表中每一维度元素的个数(从左到右,依次为第一维度中元素的个数,第二维度中元素的个数…第n维度元素的个数)
如,若某一个numpy数组test_array 调用shape输出为(2,3,3,4) 我们根据上面的结论,就可以很快的知道这是一个4维的数组。
其中,第一个维度只有2个元素。第二个维度有3个元素,第三个维度也有3个元素,最后的第四个维度有4个元素。