numpy.ma.masked_array.sort#

方法

ma.masked_array.sort(axis=-1, kind=None, order=None, endwith=True, fill_value=None, *, stable=False)[源代码]#

原地对数组进行排序

参数:
a类数组对象

待排序的数组。

axisint, optional

排序的轴。如果为 None,则在排序前展平数组。默认值为 -1,表示沿最后一个轴排序。

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

使用的排序算法。

order列表,可选

a 是结构化数组时,此参数指定要首先、其次等进行比较的字段。此列表不需要包含所有字段。

endwith{True, False}, optional

缺失值(如果有)应被视为最大值 (True) 还是最小值 (False)。当数组包含未屏蔽值且在数据类型的相同极端值处进行排序时,这些值和被屏蔽值之间的顺序是未定义的。

fill_valuescalar or None, optional

用于掩码值的内部值。如果 fill_value 不为 None,它将覆盖 endwith

stablebool, optional

仅用于与 np.sort 兼容。已忽略。

另请参阅

numpy.ndarray.sort

原地排序数组的方法。

argsort

间接排序。

lexsort

基于多个键的间接稳定排序。

searchsorted

在已排序的数组中查找元素。

备注

有关不同排序算法的说明,请参阅 sort

示例

>>> import numpy as np
>>> a = np.ma.array([1, 2, 5, 4, 3],mask=[0, 1, 0, 1, 0])
>>> # Default
>>> a.sort()
>>> a
masked_array(data=[1, 3, 5, --, --],
             mask=[False, False, False,  True,  True],
       fill_value=999999)
>>> a = np.ma.array([1, 2, 5, 4, 3],mask=[0, 1, 0, 1, 0])
>>> # Put missing values in the front
>>> a.sort(endwith=False)
>>> a
masked_array(data=[--, --, 1, 3, 5],
             mask=[ True,  True, False, False, False],
       fill_value=999999)
>>> a = np.ma.array([1, 2, 5, 4, 3],mask=[0, 1, 0, 1, 0])
>>> # fill_value takes over endwith
>>> a.sort(endwith=False, fill_value=3)
>>> a
masked_array(data=[1, --, --, 3, 5],
             mask=[False,  True,  True, False, False],
       fill_value=999999)