Python sort np.argsort()元素从小到大排序后,提取对应的索引index,可以一行搞定排序


https://www.cnblogs.com/cgmcoding/p/13590505.html

np.argsort()元素从小到大排序后,提取对应的索引index,可以一行搞定排序

函数用法

numpy.argsort(a, axis=-1, kind=’quicksort’, order=None)

功能: 将矩阵a按照axis排序,并返回排序后的下标,axis=0是列,1是行
参数: a:输入矩阵, axis:需要排序的维度
返回值: 输出排序后的下标

import numpy as np
x = np.array([1,4,3,-1,6,9])
x.argsort()
# array([3, 0, 1, 2, 4, 5], dtype=int64)

可以发现,argsort()是将X中的元素从小到大排序后,提取对应的原来的索引index,然后输出到y

复制代码
#所以取数组x的最小值的索引位置可以写成:
x[x.argsort()[0]]
#或者用argmin()函数
x[x.argmin()]

#数组x的最大值,写成:
x[x.argsort()[-1]]  # -1代表从后往前反向的索引
#或者用argmax()函数,不再详述
x[x.argmax()]
复制代码

输出排序后的数组

x[x.argsort()]
#或者
x[np.argsort(x)]

#array([-1,  1,  3,  4,  6,  9])

 那么给数据排序不就很简单了,直接一行就搞定了


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM