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