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

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *