Spec-Zone.ru › NumPy 1.17

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

Spec-Zone.ru

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