Функция numpy.sort() в Python — синтаксис и примеры

Функция numpy.sort() используется в Python для сортировки элементов массива.

Содержание

Знакомство с функцией 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)

Функция numpy sort() в сортировке двумерного массива

Выход:

[[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)

Сортировка элементов массива по оси 1

Выход:

[[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.)]
Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *