NumPy参考 >例行程序 >Sorting, searching, and counting > numpy.argmax
numpy.
argmax
(a,axis = None,out = None )[源代码] ¶返回沿轴的最大值的索引。
输入数组。
默认情况下,索引位于平面数组中,否则沿指定的轴。
如果提供,结果将被插入此数组。它应该具有适当的形状和dtype。
索引数组到数组中。它的形状与a.shape相同 ,但沿轴的尺寸已删除。
也可以看看
amax
沿给定轴的最大值。
unravel_index
将平面索引转换为索引元组。
take_along_axis
应用从argmax到一个数组,仿佛调用最大。np.expand_dims(index_array, axis)
笔记
在多次出现最大值的情况下,返回对应于第一次出现的索引。
例子
>>> 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])