大家在使用numpy的时候可能遇到这样的代码:
argsort()
官方给的这个函数的解释是一句有些让人迷惑的话:
Returns the indices that would sort an array.
返回将对数组进行排序的索引。(官方)
这句话就很绕,那么我给大家解释一下:
有numpy.argsort()这个样的用法:
比如说:
a = [1,2,3,4]
np.argsort(a)
返回是:array([0, 1, 2, 3], dtype=int64)
这个返回代表着,从小到大,a[0]<a[1]<a[2]<a[3]
也有:ndarray.argsort()这样的用法。
比如说:
b= np.array([
0.569552,
0.446407,
0.154437,
1.016849,
0.439051,
0.222526,
0.291208,
])
b.argsort()
ouput:
array([2, 5, 6, 4, 1, 0, 3], dtype=int64)
说明:b[2]<b[5]<b[6]<…
你们可以自己回去试一试:
a = [1,2,3,4]
np.argsort(a)
b= np.array([
0.569552,
0.446407,
0.154437,
1.016849,
0.439051,
0.222526,
0.291208,
])
b.argsort()