在python中排序数组,或者获取排序顺序的时候,我们常常使用numpy包的argsort函数来完成。
如下图所示,是使用python获取到数组中的排序的顺序。
data=numpy.array([1,2,3,4,5])
datasort=numpy.argsort(data)
datasort
Out[39]: array([0, 1, 2, 3, 4], dtype=int64)
data
Out[40]: array([1, 2, 3, 4, 5])
datasort1=data.argsort()
datasort1
Out[42]: array([0, 1, 2, 3, 4], dtype=int64)
我们也可以通过help(numpy.argsort)来查看使用方法
help(numpy.argsort)
Help on function argsort in module numpy.core.fromnumeric:
argsort(a, axis=-1, kind='quicksort', order=None)
Returns the indices that would sort an array.
Perform an indirect sort along the given axis using the algorithm specified
by the `kind` keyword. It returns an array of indices of the same shape as
如果想要通过argsort实现排序可以使用切片实现
data1=numpy.array([1,3,4,56,2,0])
datasort=data1[data1.argsort()]
datasort
Out[48]: array([ 0, 1, 2, 3, 4, 56])
希望降序的话
>>> np.argsort(x) #按升序排列
array([1, 2, 0])
>>> np.argsort(-x) #按降序排列
array([0, 2, 1])
希望对您能够有所帮助!