138

私は2次元のNumPy配列を持っています。軸の最大値を取得する方法を知っています:

>>> a = array([[1,2,3],[4,3,1]])
>>> amax(a,axis=0)
array([4, 3, 3])

最大要素のインデックスを取得するにはどうすればよいですか? array([1,1,0])代わりに出力したいと思います。

4

5 に答える 5

170
>>> a.argmax(axis=0)

array([1, 1, 0])
于 2011-03-29T07:39:43.607 に答える
114
>>> import numpy as np
>>> a = np.array([[1,2,3],[4,3,1]])
>>> i,j = np.unravel_index(a.argmax(), a.shape)
>>> a[i,j]
4
于 2012-11-23T20:52:54.133 に答える
3
v = alli.max()
index = alli.argmax()
x, y = index/8, index%8
于 2012-07-10T03:20:07.920 に答える
2

numpy 配列の最小値と最大値のインデックスをそれぞれ返すことがあり、それによってargmin()提供argmax()されます。numpy

たとえば、1次元配列の場合、次のようにします

import numpy as np

a = np.array([50,1,0,2])

print(a.argmax()) # returns 0
print(a.argmin()) # returns 2

同様に、多次元配列についても

import numpy as np

a = np.array([[0,2,3],[4,30,1]])

print(a.argmax()) # returns 4
print(a.argmin()) # returns 0

これらは、最初に出現したインデックスのみを返すことに注意してください。

于 2020-11-08T16:47:35.920 に答える