numpy.argmin#
- numpy.argmin(a, axis=None, out=None, *, keepdims=<no value>)[源代码]#
返回沿轴的最小值的索引.
- 参数:
- aarray_like
输入数组.
- 轴int, optional
默认情况下,索引指向扁平化数组,否则沿指定的轴.
- outarray, 可选
如果提供,则结果将插入到此数组中.它应该具有适当的形状和 dtype.
- keepdimsbool,可选
如果设置为 True,则缩减的轴将作为大小为 1 的维度保留在结果中.使用此选项,结果将与数组正确广播.
在 1.22.0 版本加入.
- 返回:
- index_array整数的 ndarray
数组的索引数组.它的形状与 a.shape 相同,只是沿 axis 维度被移除.如果 keepdims 设置为 True,则 axis 的大小将为 1,从而使结果数组与 a.shape 具有相同的形状.
参见
ndarray.argmin,argmaxamin沿给定轴的最小值.
unravel_index将扁平索引转换为索引元组.
take_along_axis将来自 argmin 的
np.expand_dims(index_array, axis)应用于数组,就像通过调用 min 一样.
注释
如果最小值多次出现,则返回与第一次出现相对应的索引.
示例
>>> import numpy as np >>> a = np.arange(6).reshape(2,3) + 10 >>> a array([[10, 11, 12], [13, 14, 15]]) >>> np.argmin(a) 0 >>> np.argmin(a, axis=0) array([0, 0, 0]) >>> np.argmin(a, axis=1) array([0, 0])
N 维数组的最小元素的索引:
>>> ind = np.unravel_index(np.argmin(a, axis=None), a.shape) >>> ind (0, 0) >>> a[ind] 10
>>> b = np.arange(6) + 10 >>> b[4] = 10 >>> b array([10, 11, 12, 13, 10, 15]) >>> np.argmin(b) # Only the first occurrence is returned. 0
>>> x = np.array([[4,2,3], [1,0,3]]) >>> index_array = np.argmin(x, axis=-1) >>> # Same as np.amin(x, axis=-1, keepdims=True) >>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1) array([[2], [0]]) >>> # 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([2, 0])
将 keepdims 设置为 True ,
>>> x = np.arange(24).reshape((2, 3, 4)) >>> res = np.argmin(x, axis=1, keepdims=True) >>> res.shape (2, 1, 4)