numpy.ma.masked_array.argsort#
方法
- ma.masked_array.argsort(axis=<no value>, kind=None, order=None, endwith=True, fill_value=None, *, stable=False)[源代码]#
返回一个沿指定轴对数组进行排序的索引 ndarray。掩码值会事先填充为
fill_value
。- 参数:
- axisint,可选
用于排序的轴。如果为 None(默认值),则使用扁平化数组。
- kind{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’},可选
使用的排序算法。
- orderlist,可选
当 a 是一个定义了字段的数组时,此参数指定哪些字段优先比较,其次比较等。并非所有字段都需要指定。
- endwith{True, False},可选
缺失值(如果有)应被视为最大值 (True) 还是最小值 (False)。当数组包含在数据类型相同极端的未掩码值时,这些值和掩码值的排序是未定义的。
- fill_value标量或 None,可选
内部用于掩码值的值。如果
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])