NumPy(Numeric Python)作为Python的一个很重要的扩展程序库,在用来储存和处理大型矩阵的时候显得尤为出色,可以说专为进行严格的数字处理而生。当NumPy和稀疏矩阵运算包scipy配合使用更加方便。本篇文章给大家带来了NumPy中的argmin()的用法。希望能够给大家带来帮助。
该函数主要用来检索数组中最小值的位置,并返回其下标值。同理,argmax()函数就是用来检索最大值的下标,与argmin()函数用法相同。在argmin()函数的标准语法中,numpy.argmin(a, axis=None, out=None),其中的axis参数为默认和给定值时输出情况是不一样的。
在没有指定axis值的情况下,默认为None。在默认情况下,就相当于将n维的arry平铺在一起。举个简单的例子,当二维arry([1,2,3],[4,5,6])平铺开来就是([1,2,3,4,5,6])。
a = np.array([[2,5,6],[7,6,1]]) print(np.argmin(a)) |
对于这个二维arry来说,它的最小值是1,而1的下标为5,所以最后输出的值就是5。
当axis = 1时,按照方向来,对于[2,5,6]来说最小值的下标是0,对于[7,6,1]来说最小值的下标是2。所以,最后输出的值就是[0,2]。
当axis = 0时,这时按照方向来,[2,7],[5,6],[6,1]分别在一个轴上,所以检索每个轴上的最小值,并返回下标,最后就可以得到输出值[0,0,1]。
argmin()函数可不只有这个用途,它还可以返回特定要求下的最小值的下标。比如:
a = np.arry([10,3,2,6,8,4,9]) valid_ index = np.where( a > 5)[0] valid_ index [a [valid_ index] .argmin()] |
最终输出结果是:3。该示例就是输出列表中所有大于5的值中,最小值的下标值。
学习并掌握argmin()函数,将会对计算acc起到关键性的作用。