np.argsort 函数的用法
调用方法
python
numpy.argsort(a, axis=-1, kind=None, order=None)
各个参数意义:
a:输入数组,该数组将会被排序。
axis:沿着哪个轴排序,默认轴为 -1,即最后一个轴。如果为 None,那么会使用 flatten 后的数组。
axis:可选参数,选择需要做差的轴,默认的是最后的轴。
kind:排序方法,可以选择 {'quicksort', 'mergesort', 'heapsort', 'stable'},这里不做过多介绍。
order:当 a 是一个数组时,这个值制定了
返回值:返回一个数组 a 排序的索引值。
示例1
python
import numpy as np
x = np.array([3, 1, 2])
print(np.argsort(x))
"""
result:
[1 2 0]
"""
可以看到输出的结果对应排序后的索引值,原数组 x 经过排序后的顺序从小到大应该为 [1, 2, 3],因为原始 x 数组中元素为 [3, 1, 2],即元素 1 的索引值为 1, 元素 2 的索引值为 2, 元素 3 的索引值为 0。因此,对应的原始 x 数组中元素的索引值顺序为 [1, 2, 0]
示例2
python
import numpy as np
x = np.array([[0, 3], [2, 2]])
print(np.argsort(x, axis=0))
"""
result:
[[0 1]
[1 0]]
"""
axis = 0 表示沿着 y 轴排序,因此得到上述结果。不理解的小伙伴可以阅读numpy数组的坐标轴问题。
如果大家觉得有用,就点个赞让更多的人看到吧~