当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python numpy argmax用法及代码示例


本文简要介绍 python 语言中 numpy.argmax 的用法。

用法:

numpy.argmax(a, axis=None, out=None, *, keepdims=<no value>)

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

参数

a array_like

输入数组。

axis 整数,可选

默认情况下,索引位于展平数组中,否则沿指定轴。

out 数组,可选

如果提供,结果将被插入到这个数组中。它应该具有适当的形状和数据类型。

keepdims 布尔型,可选

如果将其设置为 True,则缩小的轴将作为尺寸为 1 的尺寸留在结果中。使用此选项,结果将针对数组正确广播。

返回

index_array 整数数组

数组中的索引数组。它与 a.shape 具有相同的形状,但删除了沿轴的尺寸。如果 keepdims 设置为 True,则 axis 的大小将为 1,结果数组的形状与 a.shape 相同。

注意

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

例子

>>> 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.amax(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.amax(x, axis=-1)
>>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1).squeeze(axis=-1)
array([4, 3])

将 keepdims 设置为 True,

>>> x = np.arange(24).reshape((2, 3, 4))
>>> res = np.argmax(x, axis=1, keepdims=True)
>>> res.shape
(2, 1, 4)

相关用法


注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.argmax。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。