Pandas: cara merepresentasikan value_counts sebagai persentase
Anda dapat menggunakan fungsi value_counts() di panda untuk menghitung kemunculan nilai di kolom DataFrame tertentu.
Untuk menyatakan nilai sebagai persentase, Anda dapat menggunakan salah satu metode berikut:
Metode 1: Mewakili nilai sebagai persentase (diformat sebagai desimal)
df. my_col . value_counts (normalize= True )
Metode 2: Mewakili nilai sebagai persentase (diformat dengan simbol persen)
df. my_col . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % '
Metode 3: Mewakili Jumlah Nilai sebagai Persentase (dengan Hitungan)
counts = df. my_col . value_counts () percs = df. my_col . value_counts (normalize= True ) p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage '])
Contoh berikut menunjukkan cara menggunakan setiap metode dalam praktik dengan pandas DataFrame berikut:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C'], ' points ': [15, 12, 18, 20, 22, 28, 35, 40]}) #view DataFrame print (df) team points 0 to 15 1 to 12 2 B 18 3 B 20 4 B 22 5 B 28 6 B 35 7 C 40
Contoh 1: Mewakili nilai sebagai persentase (diformat sebagai desimal)
Kode berikut menunjukkan cara menghitung kemunculan setiap nilai di kolom tim dan menyatakan kemunculan sebagai persentase dari total, dalam format desimal:
#count occurrence of each value in 'team' column as percentage of total df. team . value_counts (normalize= True ) B 0.625 At 0.250 C 0.125 Name: team, dtype: float64
Dari hasilnya kita dapat melihat:
- Nilai B mewakili 62,5% kejadian di kolom tim.
- Nilai A mewakili 25% kejadian di kolom tim.
- Nilai C mewakili 12,5% kejadian di kolom tim.
Perhatikan bahwa persentase diformat sebagai desimal.
Contoh 2: Mewakili nilai sebagai persentase (diformat dengan simbol persen)
Kode berikut menunjukkan cara menghitung kemunculan setiap nilai di kolom tim dan menyatakan kemunculan sebagai persentase dari total, diformat dengan simbol persen:
#count occurrence of each value in 'team' column as percentage of total df. team . value_counts (normalize= True ). mul ( 100 ). round ( 1 ). astype (str) + ' % ' B 62.5% At 25.0% C 12.5% Name: team, dtype: object
Perhatikan bahwa persentase diformat sebagai string dengan simbol persen.
Contoh 3: Mewakili Jumlah Nilai sebagai Persentase (Dengan Angka)
Kode berikut menunjukkan cara menghitung kemunculan setiap nilai di kolom tim dan menyatakan kemunculannya sebagai angka dan persentase:
#count occurrence of each value in 'team' column counts = df. team . value_counts () #count occurrence of each value in 'team' column as percentage of total percs = df. team . value_counts (normalize= True ) #concatenate results into one DataFrame p.d. concat ([counts, percs], axis= 1 , keys=[' count ', ' percentage ']) count percentage B 5 0.625 At 2 0.250 C 1 0.125
Perhatikan bahwa kolom hitungan menampilkan jumlah setiap nilai unik di kolom tim sedangkan kolom persentase menampilkan setiap nilai unik sebagai persentase dari jumlah total kemunculan.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di panda:
Pandas: cara memplot akun nilai
Pandas: Cara menggunakan GroupBy dan penghitungan nilai
Pandas: cara memplot histogram berdasarkan grup