小编典典

Numpy第一次出现的值大于现有值

all

我在 numpy 中有一个一维数组,我想找到索引的位置,其中某个值超过了 numpy 数组中的值。

例如

aa = range(-10,10)

查找超出aa值的位置。5


阅读 105

收藏
2022-07-06

共1个答案

小编典典

这有点快(看起来更好)

np.argmax(aa>5)

由于argmax将在第一个停止True(“如果多次出现最大值,则返回与第一次出现对应的索引。”)并且不保存另一个列表。

In [2]: N = 10000

In [3]: aa = np.arange(-N,N)

In [4]: timeit np.argmax(aa>N/2)
100000 loops, best of 3: 52.3 us per loop

In [5]: timeit np.where(aa>N/2)[0][0]
10000 loops, best of 3: 141 us per loop

In [6]: timeit np.nonzero(aa>N/2)[0][0]
10000 loops, best of 3: 142 us per loop
2022-07-06