numpy.ma.MaskedArray.sort#
方法
- ma.MaskedArray.sort(axis=-1, kind=None, order=None, endwith=True, fill_value=None, *, stable=False)[source]#
原地对数组进行排序
- 参数:
- a类数组对象
待排序的数组。
- axisint, optional
排序的轴。如果为 None,则在排序前展平数组。默认值为 -1,表示沿最后一个轴排序。
- kind{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, optional
使用的排序算法。
- orderlist, optional
当 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)