numpy.argsort
-
用例:
numpy.argsort(a, axis=-1, kind=None, order=None) -
功能:
返回数组排序后的元素索引值。
根据kind
指定的算法对数组沿着axis
轴进行排序。其返回值的形状和a
一致,返回值内容为排序后元素在原始数组中的索引。 -
参数
变量名 | 数据类型 | 功能 |
---|---|---|
a | 数组型变量 | 被排序的数组。 |
axis | 整型或None,可选参数 | 指定沿着哪个轴排序。默认值是-1即最后一维。若为None,则会将数组拉伸为一维。 |
kind | {‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, 可选参数 | 排序算法,默认为’quicksort’。注意:'stable’和’mergesort’的后端都是使用timsort算法,并且在通常情况下, 算法的计算结果会随数值类型的不同而发生改变。保留’mergesort’参数是为了向后兼容。 |
order | 字符串、字符串组成的列表,可选参数 | 当数组a定义了字段时,此参数指定先比较哪个字段再比较哪个字段。通过字符串可以单一指定某个字段, 并且并不是所有字段均需被指定,未被指定的字段也会参与排序(按照他们在 dtype 中的出现顺序进行排序)。 |
- 返回值
变量名 | 数据类型 | 功能 |
---|---|---|
index_array | n维数组或整数 | 将a沿着指定轴排序后其索引组成的数组。若a为一维数组,a[index_array] 生成排序后的a数组。更一般的,无论a为多少维数组,我们均可使用 np.take_along_axis(a, index_array, axis=axis) 生成排序后的a数组 |
import numpy as np