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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *