Spec-Zone.ru › NumPy 1.15

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.15.4/reference/generated/numpy.argpartition.html

Spec-Zone.ru

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