numpy.ma.masked_array.sort

masked_array.sort(axis=-1, kind='quicksort', order=None, endwith=True, fill_value=None)[source]

就地对数组进行排序

参数:

a:array_like

数组要排序。

axis:int,可选

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

kind:{'quicksort','mergesort','heapsort'},可选

排序算法。默认值为“quicksort”。

订单:list,可选

a是结构化数组时,此参数指定首先,第二个等比较哪些字段。此列表不需要包括所有字段。

endwith:{True,False},可选

是否缺失值(如果有)应强制在上部索引(数组的末尾)(True)或更低的索引(在开头)。当数组包含数据类型的最大(或最小如果False)可表示值的未屏蔽值时,这些值和屏蔽值的排序是未定义的。要强制屏蔽的值是在结束(开始)在这种情况下,必须排序屏蔽。

fill_value:{var},可选

屏蔽值在内部使用的值。如果fill_value不为None,它将取代endwith

返回:

sorted_array:ndarray

数组的类型和形状与a相同。

也可以看看

ndarray.sort
对数组进行就地排序的方法。
argsort
间接排序。
lexsort
对多个键进行间接稳定排序。
searchsorted
在已排序的数组中查找元素。

笔记

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

例子

>>> a = ma.array([1, 2, 5, 4, 3],mask=[0, 1, 0, 1, 0])
>>> # Default
>>> a.sort()
>>> print(a)
[1 3 5 -- --]
>>> a = ma.array([1, 2, 5, 4, 3],mask=[0, 1, 0, 1, 0])
>>> # Put missing values in the front
>>> a.sort(endwith=False)
>>> print(a)
[-- -- 1 3 5]
>>> a = 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)
>>> print(a)
[1 -- -- 3 5]