先看看代码。
>>> import numpy as np
>>> x=np.array([1,4,3,-1,6,9])
>>>
>>> x.argsort()
array([3, 0, 2, 1, 4, 5])
>>> x.argsort()[-1]
5
>>> x.argsort()[-2]
4
x.argsort()
输出定义为y=array([3,0,2,1,4,5])。
argsort()函数是将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y。例如:x[3]=-1最小,所以y[0]=3,x[5]=9最大,所以y[5]=5。
当num>=0时,np.argsort()[num]就可以理解为y[num];
当num<0时,np.argsort()[num]就是把数组y的元素反向输出,例如np.argsort()[-1]即输出x中最大值对应的index,np.argsort()[-2]即输出x中第二大值对应的index,依此类推。