Pandas: cara mengurutkan tabel pivot berdasarkan nilai di kolom


Anda dapat menggunakan sintaks dasar berikut untuk mengurutkan tabel pivot pandas berdasarkan nilai kolom:

 my_pivot_table. sort_values (by=[' some_column '], ascending= False )

Contoh khusus ini mengurutkan nilai tabel pivot yang disebut my_pivot_table berdasarkan nilai some_column dalam urutan menurun.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Urutkan tabel pivot Pandas berdasarkan nilai di kolom

Misalkan kita memiliki pandas DataFrame berikut yang berisi informasi tentang berbagai pemain bola basket:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B',
                            'B', 'B', 'C', 'C', 'C', 'C'],
                   ' points ': [4, 4, 2, 8, 9, 5, 5, 7, 8, 8, 4, 3],
                   ' assists ': [2, 2, 5, 5, 4, 7, 5, 3, 9, 8, 4, 4]})

#view DataFrame
print (df)

   team points assists
0 to 4 2
1 to 4 2
2 to 2 5
3 to 8 5
4 B 9 4
5 B 5 7
6 B 5 5
7 B 7 3
8 C 8 9
9 C 8 8
10 C 4 4
11 C 3 4

Kita dapat menggunakan kode berikut untuk membuat tabel pivot di panda yang menampilkan jumlah nilai di kolom poin dan bantuan untuk setiap tim:

 #create pivot table
df_pivot = df. pivot_table (index=[' team '], values=[' points ', ' assists '], aggfunc=' sum ')

#view pivot table
print (df_pivot)

      assist points
team                 
At 14 18
B 19 26
C 25 23

Secara default, panda mengurutkan baris tabel pivot berdasarkan abjad berdasarkan nilai kolom indeks, yang merupakan kolom tim .

Namun, kita bisa menggunakan fungsi sort_values() untuk mengurutkan baris tabel pivot berdasarkan nilai kolom titik :

 #sort pivot table by value in 'points' column in descending order
sorted_df_pivot = df_pivot. sort_values (by=[' points '], ascending= False )

#view sorted pivot table
print (sorted_df_pivot)

      assist points
team                 
B 19 26
C 25 23
At 14 18

Perhatikan bahwa baris PivotTable kini diurutkan berdasarkan nilai di kolom Poin .

Perhatikan bahwa jika Anda menghilangkan argumen ascending=False , baris akan diurutkan berdasarkan nilai di kolom titik dalam urutan menaik:

 #sort pivot table by value in 'points' column in ascending order
sorted_df_pivot = df_pivot. sort_values (by=[' points '])

#view sorted pivot table
print (sorted_df_pivot)

      assist points
team                 
At 14 18
C 25 23
B 19 26

Perhatikan bahwa baris PivotTable kini diurutkan berdasarkan nilai kolom titik dalam urutan menaik (terkecil hingga terbesar).

Catatan #1: Anda juga dapat mengurutkan beberapa kolom dalam tabel pivot dengan meneruskan beberapa nilai ke argumen by dalam fungsi sort_values() .

Catatan #2 : Anda dapat menemukan dokumentasi lengkap fungsi pandas pivot_table() di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Pandas: Cara membentuk ulang DataFrame dari panjang ke lebar
Pandas: Cara membentuk ulang DataFrame dari lebar ke panjang
Pandas: cara mengelompokkan dan menggabungkan beberapa kolom

Tambahkan komentar

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