РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
407 of 541 menu

Метод argsort класса ndarray

Метод argsort возвращает массив индексов, которые упорядочивают исходный массив по возрастанию значений. Первым параметром можно указать ось (axis), вдоль которой выполняется сортировка. Вторым параметром можно указать алгоритм сортировки (kind). Третьим параметром можно указать направление сортировки (order). Метод возвращает массив индексов, не изменяя исходный массив.

Синтаксис

arr.argsort([axis], [kind], [order])

Пример

Получим индексы для сортировки одномерного массива:

import numpy as np arr = np.array([3, 1, 4, 1, 5, 9, 2]) idx = arr.argsort() print("Indices:", idx) print("Sorted array:", arr[idx])

Результат выполнения кода:

Indices: [1 3 6 0 2 4 5] Sorted array: [1 1 2 3 4 5 9]

Пример

Сортировка по убыванию с использованием среза:

import numpy as np arr = np.array([3, 1, 4, 1, 5, 9, 2]) idx = arr.argsort()[::-1] print("Indices:", idx) print("Sorted descending:", arr[idx])

Результат выполнения кода:

Indices: [5 4 2 0 6 1 3] Sorted descending: [9 5 4 3 2 1 1]

Пример

Сортировка двумерного массива вдоль строк:

import numpy as np arr = np.array([[3, 1, 4], [1, 5, 9], [2, 6, 5]]) idx = arr.argsort(axis=1) print("Indices:") print(idx) print("Sorted rows:") for i in range(arr.shape[0]): print(arr[i][idx[i]])

Результат выполнения кода:

Indices: [[1 0 2] [0 1 2] [0 2 1]] Sorted rows: [1 3 4] [1 5 9] [2 5 6]

Пример

Сортировка вдоль столбцов с использованием алгоритма 'stable':

import numpy as np arr = np.array([[3, 1, 4], [1, 5, 9], [2, 6, 5]]) idx = arr.argsort(axis=0, kind='stable') print("Indices:") print(idx)

Результат выполнения кода:

Indices: [[1 0 0] [2 1 2] [0 2 1]]

Смотрите также

  • метод sort,
    который сортирует массив на месте
  • метод argmin,
    который находит индекс минимального элемента
  • метод argmax,
    который находит индекс максимального элемента
  • функцию argsort,
    которая также возвращает индексы сортировки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить