np.argshort() — это библиотечная функция numpy в Python, которая возвращает индекс элементов массива в отсортированном порядке. Функция numpy.argshort() принимает исходный массив в качестве параметра и возвращает массив. Этот массив состоит из индекса элементов, соответствующих индексу отсортированных элементов массива.
Синтаксис
|
1 |
numpy.argsort(arr, axis=- 1, kind=None, order=None) |
Параметры
Функция np.argsort() принимает один обязательный аргумент в качестве параметра и имеет три необязательных аргумента:
- arr: в этом аргументе передается массив, который необходим для возврата массива. В этом аргументе задается массив, который будет передан функции argsort.
- axis: в этом аргументе задается ось, по которой должна выполняться сортировка. Эта ось сохраняется как -1 по умолчанию. Мы также можем указать None на оси.
- kind: это тип алгоритма сортировки, который должен использоваться функцией argsort(). По умолчанию это None. Например, мы можем использовать быструю сортировку, сортировку слиянием, пирамидальную сортировку или стабильную сортировку. Этот алгоритм, переданный в аргументе kind, используется внутри функции argsort для возврата массива.
- order: используется в качестве приоритета. Мы можем установить значение как str или список str по порядку.
Возвращаемое значение
Возвращает массив. Он состоит из индексов, которые будут сортировать массив.
Программа с np.argsort() для возврата индексов, которые будут сортировать массив
|
1 2 3 4 5 6 7 8 9 10 11 |
# Importing numpy as np import numpy as np # Creating a numpy array called arr arr = np.array([5, 3, 7, 8, 1, 9, 2]) print("The array is : ", arr) # Printing the shape of the array using shape function print("Shape of the array is : ", arr.shape) res = np.argsort(arr) print("Indices that would sort the array is: ", res) |
Выход
|
1 2 3 |
The array is : [5 3 7 8 1 9 2] Shape of the array is :(7,) Indices that would sort the array is: [4 6 1 0 2 3 5] |
В этой программе мы импортировали модуль numpy для использования его функций. Затем мы создали массив numpy. Мы напечатали массив, а затем форму массива с помощью функции shape. Затем мы передали этот массив в функцию np.argsort(). Функция argshort() возвращает массив. Массив состоит из индексов, которые сортируют элементы в массиве.
Функция argshort() сортирует элементы в этой программе в порядке возрастания. Вместо сортировки элементов сортируются соответствующие индексы. Эти индексы можно использовать для сортировки элементов.
Мы видим, что первый элемент в списке индексов равен 4, а четвертый элемент в массиве равен 1. Следовательно, 1 — это первый элемент. Точно так же в следующей позиции индексы равны 6, а элемент в 6-й позиции равен 2.
Программа с np.argsort() для возврата индексов, которые будут сортировать массив слиянием как вид и 0 как ось в функции
|
1 2 3 4 5 6 7 8 9 10 11 12 |
# Importing numpy as np import numpy as np # Creating a numpy array called arr arr = np.array([5, 3, 7, 8, 1, 9, 2]) print("The array is : ", arr) # Printing the shape of the array using shape function print(" Shape of the array is : ", arr.shape) res = np.argsort(arr, kind='mergersort', axis=0) print("Indices that would sort the array is: ", res) print(" The sorted array is: ", arr[res]) |
Выход
|
1 2 3 |
The array is : [5 3 7 8 1 9 2] Shape of the array is :(7,) Indices that would sort the array is: [4 6 1 0 2 3 5] |
Мы передали значения вида и оси в этой программе как сортировку слиянием и 0. Затем эта функция сортирует массив с использованием алгоритма сортировки слиянием по оси 0. Затем мы печатаем массив индексов и отсортированный массив, минуя массив индексов, как индекс к массиву.
