2016-05-29 20 views
0

argwhere関数を使って行列の最大値のインデックスを取得しようとしています。私はこの構文を使用しています:np.argwhereを使って行列の最大値を求める

行列は、私が使用している行列であると私はどこ私の最大値の座標を与えるタプルになりたい
where = np.argwhere(np.argmax(matrix)) 

を。 しかし、ここで私が欲しかったように、デフォルトで

+0

私はあなたが 'np.argwhere'呼び出しを必要とは思いません。 'np.argmax'だけでは、あなたが望むものが得られませんか? – farenorth

答えて

4

np.argmax(arr)は、扁平アレイに最大値のインデックスを返す(私は行ではなく、COLを取得)[0]としない(0、COL)として印刷、arr.ravel()

np.unravel_indexを使用し、arr自体の最大値のインデックスを取得するには:

In [15]: np.random.seed(2016); arr = np.random.randint(10, size=(2,3)); arr 
Out[15]: 
array([[3, 7, 2], 
     [3, 8, 4]]) 
In [17]: np.argmax(arr) 
Out[17]: 4 
In [18]: np.unravel_index(np.argmax(arr), arr.shape) 
Out[18]: (1, 1) 
+0

まさに私が必要なもの! – Eyzuky

関連する問題