numpy.ma.MaskedArray.argsort#

method

ma.MaskedArray.argsort(axis=<no value>, kind=None, order=None, endwith=True, fill_value=None, *, stable=False)[源代码]#

返回一个ndarray,其中包含沿指定轴对数组进行排序的索引. 掩码值预先填充为 fill_value .

参数:
axis整数,可选

沿其排序的轴. 如果为 None(默认值),则使用扁平化数组.

kind{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, optional

使用的排序算法.

orderlist, optional

如果 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])