2012-07-04 20 views

答えて

9

にようnp.unravel_indexとともにnp.argmaxを使用することができます。列の

np.argmax(np.max(x, axis=1)) 

を、そしてため

np.argmax(np.max(x, axis=0)) 

行。

7

np.where(x == np.max(x))を使用できます。例えば

>>> x = np.array([[1,2,3],[2,3,4],[1,3,1]]) 
>>> x 
array([[1, 2, 3], 
     [2, 3, 4], 
     [1, 3, 1]]) 
>>> np.where(x == np.max(x)) 
(array([1]), array([2])) 

最初の値は、行番号であり、第二の数は列番号です。

5

あなたはどちらか一方だけが必要な場合はあなたが

x = np.random.random((5,5)) 
print np.unravel_index(np.argmax(x), x.shape) 
1

np.argmaxは、フラット化された配列内の(最初の)最大の要素のインデックスを返します。したがって、あなたが行っている配列の形を知っていれば、行/列のインデックスを簡単に見つけることができます:

A = np.array([5, 6, 1], [2, 0, 8], [4, 9, 3]) 
am = A.argmax() 
c_idx = am % A.shape[1] 
r_idx = am // A.shape[1] 
関連する問題