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