Spec-Zone.ru › NumPy 1.16

numpy.argpartition

numpy.argpartition(a, kth, axis=-1, kind='introselect', order=None) [source]

Выполняет непрямое разбиение по указанной оси, используя алгоритм, заданный ключевым словом kind. Возвращает массив индексов той же формы, что и a, который индексирует данные по заданной оси в порядке разбиения.

Добавлена в версии 1.8.0.

Параметры:
a : array_like

Массив для сортировки.

kth : int or sequence of ints

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

axis : int or None, optional

Ось, по которой необходимо выполнить сортировку. По умолчанию -1 (последняя ось). Если None, используется уплощенный массив.

kind : {‘introselect’}, optional

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

order : str or list of str, optional

Когда a представляет собой массив с определенными полями, этот аргумент определяет, какие поля сравнивать в первую, вторую и т. д. очередь. Поле может быть задано как строка, и не все поля могут быть указаны, но не указанные поля все равно будут использоваться в порядке, в котором они появляются в dtype, чтобы разрешить ничьи.

Возвращает:
index_array : ndarray, int

Массив индексов, которые разделяют a вдоль указанной оси. Если a одномерный, a[index_array] создает разбиение a. В более общем случае, np.take_along_axis(a, index_array, axis=a) всегда возвращает разбиение a, независимо от размерности.

См. также

partition
Описание алгоритмов разбиения.
ndarray.partition
Разбиение на месте.
argsort
Полная непрямая сортировка

Примечания

См. partition для информации об алгоритмах выбора.

Примеры

Одномерный массив:

>>> x = np.array([3, 4, 2, 1])
>>> x[np.argpartition(x, 3)]
array([2, 1, 3, 4])
>>> x[np.argpartition(x, (1, 3))]
array([1, 2, 3, 4])
>>> x = [3, 4, 2, 1]
>>> np.array(x)[np.argpartition(x, 3)]
array([2, 1, 3, 4])

© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.16.1/reference/generated/numpy.argpartition.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API