numpy.ma.argsort#
- ma.argsort(a, axis=<no value>, kind=None, order=None, endwith=True, fill_value=None, *, stable=None)[source]#
返回一个 ndarray,其中包含沿指定轴对数组进行排序的索引。掩码值事先填充为 fill_value。
- 参数:
- axisint,可选
要排序的轴。如果为 None,则默认为展平数组。
版本 1.13.0 中已更改: 之前,文档中记录的默认值为 -1,但这是错误的。在将来的某个时间点,默认值将更改为 -1,如最初打算的那样。在此之前,当
arr.ndim > 1
时,应明确指定轴,以避免出现 FutureWarning。- kind{'quicksort','mergesort','heapsort','stable'},可选
使用的排序算法。
- order列表,可选
当 a 是一个具有定义字段的数组时,此参数指定首先比较哪些字段、其次比较哪些字段,依此类推。不需要指定所有字段。
- endwith{True,False},可选
是否应将缺失值(如果有)视为最大值 (True) 或最小值 (False)。当数组在数据类型的同一极端包含未掩码的值时,这些值和掩码值的排序顺序是不确定的。
- fill_value标量或 None,可选
内部用于掩码值的数值。如果
fill_value
不为 None,则它会取代endwith
。- stable布尔值,可选
仅为了与
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])