numpy.ma.argsort#
- ma.argsort(a, axis=<no value>, kind=None, order=None, endwith=True, fill_value=None, *, stable=None)[源代码]#
返回一个索引的ndarray,这些索引沿着指定的轴对数组进行排序.掩码值在之前被填充为 fill_value.
- 参数:
- axisint, 可选
要排序的轴.如果为 None,默认情况下,使用展平的数组.
在 1.13.0 版本发生变更: 之前,默认值被记录为 -1,但这是一个错误.在未来的某个日期,默认值将更改为 -1,这是最初的目的.在此之前,当
arr.ndim > 1
时,应该明确给出轴,以避免 FutureWarning.- kind{‘快速排序’, ‘归并排序’, ‘堆排序’, ‘稳定’}, 可选
使用的排序算法.
- order列表,可选
当 a 是一个定义了字段数组时,此参数指定首先比较哪些字段,其次比较哪些字段等.不需要指定所有字段.
- endwith{True, False}, 可选
是否应将缺失值(如果有)视为最大值(True)或最小值(False).当数组在数据类型的相同极端包含未掩码值时,这些值和掩码值的顺序未定义.
- fill_value标量或无,可选
用于屏蔽值的内部值.如果
fill_value
不是 None,它将取代endwith
.- stablebool, 可选
仅为了与
np.argsort
兼容.忽略.
- 返回:
- index_arrayndarray, int
沿指定轴对 a 进行排序的索引数组.换句话说,``a[index_array]`` 产生一个已排序的 a.
参见
ma.MaskedArray.sort
描述了使用的排序算法.
lexsort
使用多个键进行间接稳定排序.
numpy.ndarray.sort
就地排序.
备注
关于不同的排序算法的注释,请参见
sort
.示例
>>> import numpy as np >>> a = np.ma.array([3,2,1], mask=[False, False, True]) >>> a masked_array(data=[3, 2, --], mask=[False, False, True], fill_value=999999) >>> a.argsort() array([1, 0, 2])