numpy.matrix.partition#
方法
- matrix.partition(kth, axis=-1, kind='introselect', order=None)#
以部分排序陣列中的元素,使第 k 個位置的元素值位於排序陣列中應在的位置。在輸出陣列中,所有小於第 k 個元素的元素都位於此元素的左側,而所有大於或等於第 k 個元素的元素都位於其右側。輸出陣列中第 k 個元素任一側的兩個分割區中元素的順序是未定義的。
- 參數:
- kth整數或整數序列
要分割的元素索引。第 k 個元素值將位於其最終排序位置,所有較小的元素將移到其前面,而所有相等或更大的元素將移到其後面。分割區中所有元素的順序是未定義的。如果提供 kth 序列,它將立即將由 kth 索引的所有元素分割到其排序位置。
版本 1.22.0 中棄用: 不建議將布林值作為索引傳遞。
- axis整數,選用
沿著要排序的軸。預設值為 -1,表示沿著最後一個軸排序。
- kind{‘introselect’},選用
選擇演算法。預設值為 ‘introselect’。
- order字串或字串列表,選用
當 a 是定義欄位的陣列時,此引數指定首先要比較的欄位、第二個要比較的欄位等等。單個欄位可以指定為字串,並且不需要指定所有欄位,但未指定的欄位仍將按照它們在 dtype 中出現的順序用於打破平局。
另請參閱
numpy.partition
傳回陣列的分割副本。
argpartition
間接分割。
sort
完整排序。
註解
有關不同演算法的註解,請參閱
np.partition
。範例
>>> import numpy as np >>> a = np.array([3, 4, 2, 1]) >>> a.partition(3) >>> a array([2, 1, 3, 4]) # may vary
>>> a.partition((1, 3)) >>> a array([1, 2, 3, 4])