Cara mengurutkan array numpy berdasarkan kolom (dengan contoh)
Anda dapat menggunakan metode berikut untuk mengurutkan baris array NumPy berdasarkan nilai kolom:
Metode 1: Urutkan berdasarkan nilai kolom dalam urutan menaik
x_sorted_asc = x[x[:, 1]. argsort ()]
Metode 2: Urutkan berdasarkan nilai kolom menurun
x_sorted_desc = x[x[:, 1]. argsort ()[::-1]]
Contoh berikut menunjukkan cara menggunakan masing-masing metode dalam praktik.
Contoh 1: Urutkan array Numpy berdasarkan nilai kolom dalam urutan menaik
Misalkan kita memiliki array NumPy berikut:
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]]
Kita dapat menggunakan kode berikut untuk mengurutkan baris tabel NumPy dalam urutan menaik berdasarkan nilai pada kolom kedua:
#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]]
Perhatikan bahwa baris sekarang diurutkan dalam urutan menaik (terkecil hingga terbesar) berdasarkan nilai di kolom kedua.
Contoh 2: Urutkan array Numpy berdasarkan nilai kolom menurun
Misalkan kita memiliki array NumPy berikut:
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]]
Kita dapat menggunakan kode berikut untuk mengurutkan baris tabel NumPy dalam urutan menurun berdasarkan nilai pada kolom kedua:
#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]]
Perhatikan bahwa baris-baris tersebut sekarang diurutkan dalam urutan menurun (dari terbesar ke terkecil) berdasarkan nilai pada kolom kedua.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya dengan Python:
Cara menemukan indeks nilai dalam array NumPy
Cara mendapatkan kolom tertentu dari array NumPy
Bagaimana cara menambahkan kolom ke array NumPy