[Python] 既存の値よりも大きい値のナンシー最初の発生


Answers

配列のソートされたコンテンツがある場合、さらに高速なメソッドが検索されます。

import time
N = 10000
aa = np.arange(-N,N)
%timeit np.searchsorted(aa, N/2)+1
%timeit np.argmax(aa>N/2)
%timeit np.where(aa>N/2)[0][0]
%timeit np.nonzero(aa>N/2)[0][0]

# Output
100000 loops, best of 3: 5.97 µs per loop
10000 loops, best of 3: 46.3 µs per loop
10000 loops, best of 3: 154 µs per loop
10000 loops, best of 3: 154 µs per loop
Question

私はnumpyで1D配列を持っていて、値がnumpy配列の値を超えるインデックスの位置を探したい。

例えば

aa = range(-10,10)

aa位置は、値5が超過する場所を検索します。