python/numpy: 如何获取二维数组列的长度?
我怎么才能获取一个多维数组中某一列的长度呢?
举个例子,我有一个叫做 a 的多维数组。当我打印 a.shape 的时候,它返回的是 (1,21)。我想用一个循环,循环的范围是数组 a 的列数。我该怎么获取这个值呢?
4 个回答
3
在定义二维数组的时候,使用 shape
和 size
这两个方法效果很好,但如果你定义的是一个简单的一维数组,这些方法就不管用了。
举个例子:
K = np.array([0,2,0])
K.shape[1]
和 numpy.size(K,1)
在 Python 中运行这些代码会报错:
Traceback (most recent call last):
File "<ipython-input-46-e09d33390b10>", line 1, in <module>
K.shape[1]
IndexError: tuple index out of range
解决办法:
可以通过给数组添加一个简单的选项来解决这个问题。
K = np.array([0,2,0],ndmin = 2)
K.shape[0]
Out[56]: 1
K.shape[1]
Out[57]: 3
np.size(K,0)
Out[58]: 1
np.size(K,1)
Out[59]: 3
更多信息:
https://codewithkazem.com/array-shape1-indexerror-tuple-index-out-of-range/
4
你可以使用 np.size(element, dimension)
.
在你的情况下:
a.shape
>> (1, 21)
np.size(a,0)
>> 1
np.size(a,1)
>> 21
59
你可以这样获取数组的第二个维度:
a.shape[1]