numpy.argsort(a, axis=-1, kind=None, order=None)
各个参数意义:
a
:输入数组,该数组将会被排序。
axis
:沿着哪个轴排序,默认轴为 -1
,即最后一个轴。如果为 None
,那么会使用 flatten
后的数组。
axis
:可选参数,选择需要做差的轴,默认的是最后的轴。
kind
:排序方法,可以选择 {‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}
,这里不做过多介绍。
order
:当 a
是一个数组时,这个值制定了
返回值:返回一个数组 a
排序的索引值。
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]
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数组的坐标轴问题。
如果大家觉得有用,就点个赞让更多的人看到吧~