【问题标题】:Take first dimension in ndarray python在ndarray python中取第一个维度
【发布时间】:2014-12-27 06:40:24
【问题描述】:
假设我有一个这样的 ndarray:
a = [[20 43 61 41][92 23 43 33]]
我想取这个 ndarray 的第一个维度。所以我尝试这样的事情:
a[0,:]
我希望它会返回如下内容:
[[20 43 61 41]]
但我收到了这个错误:
TypeError: 'numpy.int32' object is not iterable
谁能帮我解决这个问题?
【问题讨论】:
标签:
python
numpy
multidimensional-array
【解决方案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]]
【解决方案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])
(可能是也可能不是你想要的。)