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