Pandas: cara mengurutkan nilai di tab silang
Anda dapat menggunakan metode berikut untuk mengurutkan baris atau kolom di tab silang Pandas:
Metode 1: Urutkan tab silang berdasarkan nilai baris
p.d. crosstab (df. col1 , df. col2 ). sort_index (axis= 0 , ascending= False )
Metode 2: Urutkan tab silang berdasarkan nilai kolom
p.d. crosstab (df. col1 , df. col2 ). sort_index (axis= 1 , ascending= False )
Contoh berikut menunjukkan cara menggunakan masing-masing metode ini dalam praktik dengan tab silang pandas berikut:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C '], ' position ':['G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [22, 25, 24, 39, 34, 20, 18, 17, 20, 19, 22]}) #create crosstab to display count of players by team and position my_crosstab = pd. crosstab (df. team , df. position ) #view crosstab print (my_crosstab) FG position team AT 12 B 3 1 C 2 2
Contoh 1: Urutkan tab silang berdasarkan nilai baris
Kita dapat menggunakan sintaks berikut untuk mengurutkan baris tab silang berdasarkan nilai kolom tim dalam urutan menurun (Z ke A):
#create crosstab with rows sorted from Z to A p.d. crosstab (df. team , df. position ). sort_index (axis= 0 , ascending= False ) position F G team C 2 2 B 3 1 AT 12
Perhatikan bahwa baris tab silang sekarang diurutkan berdasarkan nilai tim dalam urutan abjad terbalik.
Catatan : Fungsi crosstab() menampilkan nilai baris crosstab dalam urutan abjad (A sampai Z) secara default.
Contoh 2: Urutkan tab silang berdasarkan nilai kolom
Kita dapat menggunakan sintaks berikut untuk mengurutkan kolom tab silang berdasarkan nilai kolom tim dalam urutan menurun (Z hingga A):
#create crosstab with columns sorted from Z to A p.d. crosstab (df. team , df. position ). sort_index (axis= 1 , ascending= False ) G F position team At 2 1 B 1 3 C 2 2
Perhatikan bahwa kolom tab silang sekarang diurutkan berdasarkan nilai posisi dalam urutan abjad terbalik.
Catatan : Fungsi crosstab() menampilkan nilai kolom crosstab dalam urutan abjad (A sampai Z) secara default.
Catatan : Anda dapat menemukan dokumentasi lengkap fungsi pandas crosstab() di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:
Pandas: Cara membuat tab silang dengan persentase
Pandas: Cara menggunakan aggfunc di fungsi crosstab()
Pandas: Cara Membuat Plot Batang dari Tab Silang