如何在numpy中检索元组中的数组元素

时间:2016-05-19 14:26:54

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

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

1 个答案:

答案 0 :(得分:2)

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

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()方法。