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(默认值),则使用扁平化数组。

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