Как отсортировать массив numpy по столбцу (с примерами)


Вы можете использовать следующие методы для сортировки строк массива NumPy по значениям столбцов:

Способ 1: Сортировка по значениям столбцов в порядке возрастания

 x_sorted_asc = x[x[:, 1]. argsort ()]

Способ 2. Сортировка по убыванию значений столбцов.

 x_sorted_desc = x[x[:, 1]. argsort ()[::-1]]

Следующие примеры показывают, как использовать каждый метод на практике.

Пример 1: Сортировка массива Numpy по значениям столбцов в порядке возрастания

Предположим, у нас есть следующий массив NumPy:

 import numpy as np

#create array
x = np. array ([14, 12, 8, 10, 5, 7, 11, 9, 2]). reshape (3,3)

#view array
print (x)

[[14 12 8]
 [10 5 7]
 [11 9 2]]

Мы можем использовать следующий код для сортировки строк таблицы NumPy в порядке возрастания на основе значений во втором столбце:

 #define new matrix with rows sorted in ascending order by values in second column
x_sorted_asc = x[x[:, 1]. argsort ()]

#view sorted matrix
print (x_sorted_asc)

[[10 5 7]
 [11 9 2]
 [14 12 8]]

Обратите внимание, что строки теперь сортируются по возрастанию (от меньшего к большему) на основе значений во втором столбце.

Пример 2. Сортировка массива Numpy по убыванию значений столбцов

Предположим, у нас есть следующий массив NumPy:

 import numpy as np

#create array
x = np. array ([14, 12, 8, 10, 5, 7, 11, 9, 2]). reshape (3,3)

#view array
print (x)

[[14 12 8]
 [10 5 7]
 [11 9 2]]

Мы можем использовать следующий код для сортировки строк таблицы NumPy в порядке убывания на основе значений во втором столбце:

 #define new matrix with rows sorted in descending order by values in second column
x_sorted_desc = x[x[:, 1]. argsort ()[::-1]]

#view sorted matrix
print (x_sorted_desc)

[[14 12 8]
 [11 9 2]
 [10 5 7]]

Обратите внимание, что строки теперь сортируются по убыванию (от большей к меньшей) на основе значений во втором столбце.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в Python:

Как найти индекс значения в массиве NumPy
Как получить определенный столбец из массива NumPy
Как добавить столбец в массив NumPy

Добавить комментарий

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