概述
argsort()函数在模块numpy.core.fromnumeric中。
在python中排序数组,或者获取排序顺序的时候,我们常常使用numpy包的argsort函数来完成。
如下图所示,是使用python获取到数组中的排序的顺序。
1
2
3
4
5
6
7
8
9
|
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)来查看使用方法
1
2
3
4
5
6
|
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实现排序可以使用切片实现
1
2
3
4
|
data1 = numpy.array([ 1 , 3 , 4 , 56 , 2 , 0 ])
datasort = data1[data1.argsort()]
datasort
Out[ 48 ]: array([ 0 , 1 , 2 , 3 , 4 , 56 ])
|
PS:NumPy 中argsort函数
排序函数,返回array类型
argsort函数返回的是数组值从小到大的元素的索引值
1
2
3
4
5
6
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np
inX = np.array([ 1 , 2 , - 1 , 3 , 4 , 7 , 8 ])
print inX
print inX.argsort()
|
总结
以上所述是小编给大家介绍的python中numpy包中的argsort函数的使用,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/huang_shao1/article/details/82217349