在ndarray python中获取第一个维度

时间:2014-12-27 06:40:25

标签: python numpy multidimensional-array

让我们说我有这样一个ndarray:

    a = [[20 43 61 41][92 23 43 33]]

我想采取这个ndarray的第一个维度。所以我尝试这样的事情:

    a[0,:]

我希望它会返回这样的内容:

    [[20 43 61 41]]

但我收到了这个错误:

   TypeError: 'numpy.int32' object is not iterable

任何人都可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

您收到此错误很奇怪。它表明a不是你认为的那样(即不是Numpy数组)。

无论如何,这是如何做到的:

In [10]: import numpy as np

In [11]: a = np.array([[20, 43, 61, 41], [92, 23, 43, 33]])

In [12]: a[0:1]
Out[12]: array([[20, 43, 61, 41]])

将此与

对比
In [14]: a[0]
Out[14]: array([20, 43, 61, 41])

(可能是你想要的也可能不是。)

答案 1 :(得分:1)

使用切片:

>>> import numpy as np
>>> a = np.array([[20, 43, 61, 41], [92, 23, 43, 33]])
>>> a[:1]  # OR a[0:1]
array([[20, 43, 61, 41]])
>>> print(a[:1])
[[20 43 61 41]]