numpy.matrix.partition#

метод

матрица.раздел(k-й, ось=-1, kind='introselect', порядок=None)#

Частично сортирует элементы в массиве таким образом, что значение элемента в k-й позиции находится в позиции, в которой оно было бы в отсортированном массиве. В выходном массиве все элементы, меньшие k-го элемента, расположены слева от этого элемента, а все равные или большие — справа. Порядок элементов в двух разделах по обе стороны от k-го элемента в выходном массиве не определён.

Параметры:
k-йint или последовательность ints

Индекс элемента для разделения. Значение k-го элемента будет в его окончательной отсортированной позиции, и все меньшие элементы будут перемещены перед ним, а все равные или большие элементы — позади него. Порядок всех элементов в разделах не определён. Если предоставлена последовательность kth, он разделит все элементы, индексированные ими, в их отсортированные позиции одновременно.

Устарело с версии 1.22.0: Передача булевых значений в качестве индекса устарела.

осьint, необязательный

Ось, вдоль которой производится сортировка. По умолчанию -1, что означает сортировку по последней оси.

kind{'introselect'}, опционально

Алгоритм выбора. По умолчанию 'introselect'.

порядокstr или список str, необязательно

Когда 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])