Pandas: urutkan dataframe berdasarkan indeks dan kolom


Anda dapat menggunakan sintaks berikut untuk mengurutkan pandas DataFrame berdasarkan indeks dan kolom:

 df = df. sort_values (by = [' column_name ', ' index '], ascending = [ False , True ])

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: mengurutkan DataFrame berdasarkan indeks dan kolom

Kode berikut menunjukkan cara mengurutkan pandas DataFrame berdasarkan kolom bernama poin dan kemudian berdasarkan kolom indeks :

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' id ': [1, 2, 3, 4, 5, 6, 7, 8],
                   ' points ': [25, 15, 15, 14, 20, 20, 25, 29],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}). set_index (' id ')

#view first few rows
df. head ()

	points assists rebounds
id			
1 25 5 11
2 15 7 8
3 15 7 10
4 14 9 6
5 20 12 6

#sort by points and then by index
df. sort_values (by = [' points ', ' id '], ascending = [ False , True ])

	points assists rebounds
id			
8 29 4 12
1 25 5 11
7 25 9 9
5 20 12 6
6 20 9 5
2 15 7 8
3 15 7 10
4 14 9 6

DataFrame yang dihasilkan diurutkan berdasarkan poin dalam urutan menurun kemudian berdasarkan indeks dalam urutan menaik (jika ada dua pemain yang mencetak jumlah poin yang sama).

Perhatikan bahwa jika kita tidak menggunakan argumen ascending , maka setiap kolom akan menggunakan urutan ascending sebagai metode pengurutan default:

 #sort by points and then by index
df. sort_values (by = [' points ', ' id '])

        points assists rebounds
id			
4 14 9 6
2 15 7 8
3 15 7 10
5 20 12 6
6 20 9 5
1 25 5 11
7 25 9 9
8 29 4 12

Jika kolom indeks saat ini tidak disebutkan namanya, Anda dapat mengganti namanya lalu mengurutkannya sesuai:

 #sort by points and then by index
df. rename_axis (' index '). sort_values (by = [' points ', ' id '])

        points assists rebounds
id			
4 14 9 6
2 15 7 8
3 15 7 10
5 20 12 6
6 20 9 5
1 25 5 11
7 25 9 9
8 29 4 12

Sumber daya tambahan

Pandas: cara mengurutkan kolom berdasarkan nama
Pandas: urutkan DataFrame berdasarkan tanggal
Pandas: Cara menghapus baris duplikat

Tambahkan komentar

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