Функция numpy.sort() в Python — синтаксис и примеры
Функция numpy.sort() используется в Python для сортировки элементов массива.
- Знакомство с функцией numpy.sort()
- Примеры функции NumPy sort()
- 1) Использование функции sort() для сортировки одномерного массива
- 2) Пример функции numpy sort() в сортировке двумерного массива
- 3) Сортировка структурированного массива с помощью numpy.sort()
Знакомство с функцией numpy.sort()
Функция sort() возвращает отсортированную копию массива. Вот синтаксис функции sort():
numpy.sort(a, axis=- 1, kind=None, order=None)
В этом синтаксисе:
- a — массив, подлежащий сортировке. Кроме того, это может быть любой объект, который можно преобразовать в массив.
- axis указывает ось, по которой будут отсортированы элементы. Если axis имеет значение «None», функция выравнивает массив перед сортировкой. По умолчанию axis равна -1, что сортирует элементы по последней оси.
- kind определяет алгоритм сортировки, который может быть «быстрой сортировкой», «сортировкой слиянием», «кучной сортировкой» и «стабильной».
- order определяет, какие поля сравнивать первыми, вторыми и т. д. при сортировке массива с определенными полями. Может представлять собой строку, представляющую поле для сортировки, или список строк, представляющий список полей для сортировки.
Если вы хотите отсортировать элементы массива на месте, вы можете использовать метод sort() объекта ndarray со следующим синтаксисом:
ndarray.sort(axis=- 1, kind=None, order=None)
Примеры функции NumPy sort()
Давайте рассмотрим несколько примеров использования функции sort().
1) Использование функции sort() для сортировки одномерного массива
В следующем примере функция sort() используется для сортировки чисел в одномерном массиве:
import numpy as np a = np.array([2, 3, 1]) b = np.sort(a) print(b)
Выход:
[1 2 3]
В этом примере функция sort() сортирует элементы массива от младшего к старшему.
Чтобы отсортировать элементы массива от большего к меньшему, вы можете использовать функцию sort(), чтобы отсортировать массив от меньшего к большему, и использовать срез, чтобы перевернуть массив. Например:
import numpy as np a = np.array([2, 3, 1]) b = np.sort(a)[::-1] print(b)
Выход:
[3 2 1]
В этом примере:
- Сначала функция sort() сортирует элементы массива a в порядке возрастания (от меньшего к большему).
- Затем срез [::-1] переворачивает отсортированный массив так, чтобы элементы результирующего массива располагались в порядке убывания.
2) Пример функции numpy sort() в сортировке двумерного массива
В следующем примере функция sort() используется для сортировки двумерного массива:
import numpy as np a = np.array([ [2, 3, 1], [5, 6, 4] ]) b = np.sort(a) print(b)
Выход:
[[1 2 3] [4 5 6]]
В следующем примере функция sort() используется для сортировки элементов по оси 0:
import numpy as np a = np.array([ [5, 3, 4], [2, 6, 1] ]) b = np.sort(a, axis=0) print(b)
Выход:
[[2 3 1] [5 6 4]]
Аналогично можно сортировать элементы массива по оси 1:
import numpy as np a = np.array([ [5, 3, 4], [2, 6, 1] ]) b = np.sort(a, axis=1) print(b)
Выход:
[[3 4 5] [1 2 6]]
3) Сортировка структурированного массива с помощью numpy.sort()
В следующем примере сотрудники сортируются по годам работы, а затем по зарплате:
import numpy as np dtype = [('name', 'S10'), ('year_of_services', float), ('salary', float)] employees = [ ('Alice', 1.5, 12500), ('Bob', 1, 15500), ('Jane', 1, 11000) ] payroll = np.array(employees, dtype=dtype) result = np.sort( payroll, order=['year_of_services', 'salary'] ) print(result)
Выход:
[(b'Jane', 1. , 11000.)(b'Bob', 1. , 15500.)(b'Alice', 1.5, 12500.)]