Spec-Zone.ru › NumPy 1.12

numpy.argpartition

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

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

Введено в версии 1.8.0.

Параметры:

a : array_like

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

kth : int или последовательность целых чисел

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

axis : int или None, необязательно

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

kind : {‘introselect’}, необязательно

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

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

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

Возвращает:

index_array : ndarray, int

Массив индексов, которые разбивают a по заданной оси. Другими словами, a[index_array] возвращает разбитый 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])

© 2008–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.12.0/reference/generated/numpy.argpartition.html

Spec-Zone.ru

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