【问题标题】:How to retrieve the array elements in a tuple in numpy如何在numpy中检索元组中的数组元素
【发布时间】:2016-05-19 14:26:54
【问题描述】:

当我使用numpy.nonzero() 时,例如numpy.nonzero(bool_row),其中bool_row 是一个包含boolean 值的series。它返回一个元组,它只包含一个数组。我想检索数组中的元素并将它们放在一个列表中。该怎么做?

【问题讨论】:

    标签: python-3.x numpy multidimensional-array


    【解决方案1】:

    索引时,元组与实际值相同,例如

    x[1,2]
    x[(1,2)]
    idx = (1,2); x[idx]
    

    所以在你的情况下,nonzero 的结果可以直接用作索引元组。

    In [566]: x=np.arange(10,20)
    
    In [567]: idx = np.nonzero(x%2)
    
    In [568]: idx
    Out[568]: (array([1, 3, 5, 7, 9], dtype=int32),)
    
    In [569]: x[idx]
    Out[569]: array([11, 13, 15, 17, 19])
    

    来自nonzero 文档

    对应的非零 可以通过以下方式获得值::

        a[nonzero(a)]
    

    如果你需要一个列表而不是一个数组,你必须添加 .tolist() 方法。

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-15
      • 2013-08-07
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多