Jak posortować tablicę numpy według kolumny (z przykładami)
Do sortowania wierszy tablicy NumPy według wartości kolumn można użyć następujących metod:
Metoda 1: Sortuj według wartości kolumn w kolejności rosnącej
x_sorted_asc = x[x[:, 1]. argsort ()]
Metoda 2: Sortuj według malejących wartości kolumn
x_sorted_desc = x[x[:, 1]. argsort ()[::-1]]
Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.
Przykład 1: Sortuj tablicę Numpy według wartości kolumn w kolejności rosnącej
Załóżmy, że mamy następującą tablicę 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]]
Za pomocą poniższego kodu możemy posortować wiersze tabeli NumPy w kolejności rosnącej na podstawie wartości w drugiej kolumnie:
#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]]
Zwróć uwagę, że wiersze są teraz sortowane w kolejności rosnącej (od najmniejszego do największego) na podstawie wartości w drugiej kolumnie.
Przykład 2: Sortuj tablicę Numpy według malejących wartości kolumn
Załóżmy, że mamy następującą tablicę 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]]
Za pomocą poniższego kodu możemy posortować wiersze tabeli NumPy w kolejności malejącej na podstawie wartości w drugiej kolumnie:
#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]]
Zwróć uwagę, że wiersze są teraz sortowane w kolejności malejącej (od największego do najmniejszego) na podstawie wartości w drugiej kolumnie.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w Pythonie:
Jak znaleźć indeks wartości w tablicy NumPy
Jak uzyskać określoną kolumnę z tablicy NumPy
Jak dodać kolumnę do tablicy NumPy