python/numpy: 如何获取二维数组列的长度?

32 投票
4 回答
96208 浏览
提问于 2025-04-17 03:46

我怎么才能获取一个多维数组中某一列的长度呢?

举个例子,我有一个叫做 a 的多维数组。当我打印 a.shape 的时候,它返回的是 (1,21)。我想用一个循环,循环的范围是数组 a 的列数。我该怎么获取这个值呢?

4 个回答

3

在定义二维数组的时候,使用 shapesize 这两个方法效果很好,但如果你定义的是一个简单的一维数组,这些方法就不管用了。

举个例子:

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]

撰写回答