Python numpy.argmin函数方法的使用

NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中argmin方法的使用。

numpy.argmin

numpy.argmin(a, axis=None, out=None)    [source]

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

参数 :

a :array_like

输入数组。

axisint, 可选

默认情况下,索引在扁平数组中,否则沿着指定的轴。

out :array, 可选

如果提供,结果将被插入此数组。

 它应该具有适当的形状和dtype。

返回值 :

index_array :ndarray of ints

索引数组到数组中。 它的形状与a.shape相同,

但沿轴的尺寸已删除。

Notes

在多次出现最小值的情况下,返回对应于第一次出现的索引。

例子

>>> 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.min(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.max(x, axis=-1)
>>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1).squeeze(axis=-1)
array([2, 0])
推荐阅读
cjavapy编程之路首页