numpy.argmax
numpy.argmax(a, axis=None, out=None) [source]
沿着一个轴返回最大值的索引。
参数 : | a :array_like 输入数组。 axis : 默认情况下,索引位于平面数组中,否则沿指定的轴。 out :array, 可选 如果提供,结果将被插入到这个数组中。 它应该是适当的形状和类型。 |
返回值 : | index_array : int类型的ndarray 索引数组到数组中。 它的形状与a.shape相同, 但沿轴的尺寸已删除。 |
Notes
如果最大值多次出现,则返回与第一次出现对应的索引。
例子
>>> a = np.arange(6).reshape(2,3) + 10
>>> a
array([[10, 11, 12],
[13, 14, 15]])
>>> np.argmax(a)
5
>>> np.argmax(a, axis=0)
array([1, 1, 1])
>>> np.argmax(a, axis=1)
array([2, 2])
N维数组的最大元素的索引:
>>> ind = np.unravel_index(np.argmax(a, axis=None), a.shape)
>>> ind
(1, 2)
>>> a[ind]
15
>>> b = np.arange(6)
>>> b[1] = 5
>>> b
array([0, 5, 2, 3, 4, 5])
>>> np.argmax(b) # Only the first occurrence is returned.
1
>>> x = np.array([[4,2,3], [1,0,3]])
>>> index_array = np.argmax(x, axis=-1)
>>> # Same as np.max(x, axis=-1, keepdims=True)
>>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1)
array([[4],
[3]])
>>> # Same as np.max(x, axis=-1)
>>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1).squeeze(axis=-1)
array([4, 3])