2011-08-12 4 views
4

数値の配列を持ち、最大値が2回以上出現することがあります。numpy.argmax:最大値が複数出現した場合の* last *オカレンスに対応するインデックスの取得方法

numpy.argmaxのようなものを使用して、最大値の最後のオカレンスのインデックスを見つけることはできますか?

さらに、配列の最大値のすべての出現のインデックスのリストを取得することは可能ですか?

答えて

8
import numpy as np 

a = np.array((1,2,3,2,3,2,1,3)) 

occurences = np.where(a == a.max()) 

# occurences == array([2, 4, 7]) 
+0

完璧!迅速な返信のために大変ありがとうございます:) – Liw

+4

最近のバージョンでこれが本当であるかどうかは分かりませんが、v1.4.0では 'occurences = np.where(a == a.max())[ 0] 'のようになります。そのため、発生時にタプルではなく配列を取得します。 – dtlussier

関連する問題