定义一个一维数组
>>> a=[2,-1,4]
>>> a=np.array(a)
>>> b=np.argsort(a) #返回的是数组a中从小到大排列的值对应的index(索引)
>>> b
array([1, 0, 2], dtype=int64)
a[1]=-1最小,b[0]=1, 即a[b[0]]=-1 ; a[2]=4最大,b[2]=2,即a[b[2]]=4最大
类似于np.argsort()[num]
的形式
当num>=0时,np.argsort()[num]就可以理解为b[num];
当num<0时,np.argsort()[num]就是把数组y的元素反向输出,例如np.argsort()[-1]即输出x中最大值对应的index,np.argsort()[-2]即输出x中第二大值对应的index,依此类推。。
>>> a=[2,-1,4]
>>> a=np.array(a)
>>> b=np.argsort(a) #返回的是数组a中从小到大排列的值对应的index(索引)
>>> b
array([1, 0, 2], dtype=int64)
>>> e=np.argsort(a)[0] #返回的是b[0],即数组a最小的值对应的索引
>>> e
1
>>> e=np.argsort(a)[-1] #返回的是b[-1],即数组a最大的值对应的索引
>>> e
2
ps:这里的num的绝对值小于等于x中元素的个数
当num>=0时,np.argsort()[num]就可以理解为y[num];
当num<0时,np.argsort()[num]就是把数组y的元素反向输出,例如np.argsort()[-1]即输出x中最大值对应的index,np.argsort()[-2]即输出x中第二大值对应的index,依此类推。。
使用[::-1],可以建立X从大到小的索引。
>>> a=[2,-1,4]
>>> a=np.array(a)
>>> b=np.argsort(a) #默认为从小到大的对应的索引
>>> b
array([1, 0, 2], dtype=int64)
>>> b[::-1] #为从大到小的对应的索引,等价于np.argsort(a)[::-1]
array([2, 0, 1], dtype=int64)
>>> a=[2,-1,4]
>>> a=np.array(a)
>>> b=np.argsort(a) #默认为从小到大的对应的索引
>>> b
array([1, 0, 2], dtype=int64)
>>> b[::-1] #为从大到小的对应的索引,等价于np.argsort(a)[::-1]
array([2, 0, 1], dtype=int64)
>>> e=b[::-1]
>>> a[e] #数组a变成从大到小了
array([ 4, 2, -1]
定义一个二维数组时
>>> d=[[1,2,-2],[0,3,4],[4,5,6]]
>>> d=np.array(d)
>>> y=np.argsort(d) 返回的是每一个一维数组从小到大的对应的索引
>>> y
array([[2, 0, 1],
[0, 1, 2],
[0, 1, 2]], dtype=int64)