当你不了解一个函数的时候,你可以采用两种方式:一种输入来了解函数
print(help(np.argsort))
要么就是 直接 点进函数来看函数的源代码,可能源代码都是英文,不太好理解,没有关系,我们可以看源代码里面的例子,如果你还是不懂的话,就可以直接百度查询了,接下来直奔主题 numpy中 argsort函数的用法:
def 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
`a` that index data along the given axis in sorted order.
Parameters
----------
a : array_like
Array to sort.
axis : int or None, optional
Axis along which to sort. The default is -1 (the last axis). If None,
the flattened array is used.
参数就是传入一个 numpy数组,axis来控制在哪个维度排序,返回的就是一个 numpy数组值从小到大的索引值
总结就一句话: argsort函数返回的是数组值从小到大的索引值
具体实例
One dimensional array:
>>> x = np.array([3, 1, 2])
>>> np.argsort(x) #将 3,1,2 的索引值 按照 3,1,2的大小进行排序
array([1, 2, 0])
Two-dimensional array:
>>> x = np.array([[0, 3], [2, 2]])
>>> x
array([[0, 3],
[2, 2]])
>>> np.argsort(x, axis=0) # sorts along first axis (down) 按列排序
array([[0, 1],
[1, 0]])
>>> np.argsort(x, axis=1) # sorts along last axis (across) # 按行排序
array([[0, 1],
[0, 1]])