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])