如何返回np.allclose()为True的索引位置

时间:2018-07-09 00:33:06

标签: python arrays numpy

我有一个Python问题,希望有人可以帮助我。 我有numpy数组的500多个索引的列表。 我想将该索引列表与另一组numpy数组进行比较,并返回比较值为True的索引位置。 我已经以自己的容忍度查询了np.allclose,以返回True的值(无论两组数组是否足够相似)。 但是我不知道如何返回该索引的位置。我已经在线找到了list.index()函数,但是不知道如何针对我的情况实现代码

例如,我有2个列表A和B。A中有500+个numpy数组的索引。和B一个数组。当我将B与A进行比较时,我可以使用np.allclose()函数返回一个布尔值。但是我也想知道在A列表中,np.allclose()返回True。

我希望示例足够清楚:D

如果有人可以帮助,那就太好了。 谢谢

1 个答案:

答案 0 :(得分:2)

np.nonzero(也称为np.where)给出数组(或列表:)的True元素的索引。

In [4]: np.nonzero([False, False, True, False, False])
Out[4]: (array([2]),)

关于使用这种np.where形式有很多SO问题。