【问题标题】: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])
    

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

    【讨论】:

      猜你喜欢
      • 2016-07-29
      • 1970-01-01
      • 2020-05-03
      • 2016-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-27
      • 2018-02-28
      相关资源
      最近更新 更多