np.argsort()函数

定义一个一维数组 

>>> 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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值