numpy.ma.MaskedArray.sort#

方法

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

對陣列進行原地排序。

參數:
aarray_like

要排序的陣列。

axisint,選用

沿著哪個軸排序。如果為 None,則在排序前將陣列展平。預設值為 -1,表示沿著最後一個軸排序。

kind{‘quicksort’, ‘mergesort’, ‘heapsort’, ‘stable’}, 選用

使用的排序演算法。

orderlist,選用

a 是結構化陣列時,此引數指定首先比較哪個欄位,然後比較第二個欄位,依此類推。此列表不需要包含所有欄位。

endwith{True, False}, 選用

是否應將遺失值(如果有的話)視為最大值 (True) 或最小值 (False)。當陣列包含在資料類型相同極端值排序的未遮罩值時,這些值與遮罩值的順序是未定義的。

fill_value純量或 None,選用

內部用於遮罩值的值。如果 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)