numpy.ma.MaskedArray.sort#

方法

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

就地排序数组

参数:
aarray_like

要排序的数组.

axisint, 可选

要排序的轴.如果为 None,则在排序之前将数组展平.默认值为 -1,即沿最后一个轴排序.

kind{‘快速排序’, ‘归并排序’, ‘堆排序’, ‘稳定’}, 可选

使用的排序算法.

order列表,可选

a 是一个结构化数组时,此参数指定首先比较哪些字段,其次比较哪些字段,依此类推.此列表不需要包含所有字段.

endwith{True, False}, 可选

是否应将缺失值(如果有)视为最大值(True)或最小值(False).当数组包含未掩码值且在数据类型的相同极端处排序时,这些值和掩码值的顺序未定义.

fill_value标量或无,可选

用于屏蔽值的内部值.如果 fill_value 不是 None,它将取代 endwith.

stablebool, 可选

仅为了与 np.sort 兼容.忽略.

返回:
sorted_arrayndarray

a 类型和形状相同的数组.

参见

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)