Як відсортувати масив 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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *