numpy.argmax

numpy.argmax(a, axis=None, out=None)[源代码]

返回沿轴的最大值的索引。

参数
aarray_like

输入数组。

axis可选的

默认情况下,索引将进入扁平数组,否则将沿指定的轴。

out可选数组

如果提供,则结果将插入此数组。它应该具有适当的形状和数据类型。

返回
index_array铟锡合金

数组中的索引数组。它的形状和 a.shape 随着尺寸的增加 axis 远离的。

参见

ndarray.argmax, argmin
amax

沿给定轴的最大值。

unravel_index

将平面索引转换为索引元组。

take_along_axis

应用 np.expand_dims(index_array, axis) 从argmax到数组,就像调用max一样。

笔记

如果最大值出现多次,则返回与第一次出现对应的索引。

实例

>>> 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])