Pandas: cara menghitung persentase total dalam suatu grup


Anda dapat menggunakan sintaks berikut untuk menghitung persentase total dalam grup panda:

 df[' values_var '] / df. groupby (' group_var ')[' values_var ']. transform (' sum ')

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Hitung persentase total dalam grup

Misalkan kita memiliki panda DataFrame berikut yang menunjukkan poin yang dicetak oleh pemain bola basket dari tim berbeda:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'B'],
                   ' points ': [12, 29, 34, 14, 10, 11, 7, 36, 34, 22]})

#view DataFrame
print (df)

  team points
0 to 12
1 to 29
2 to 34
3 to 14
4 to 10
5 B 11
6 B 7
7 B 36
8 B 34
9 B 22

Kita dapat menggunakan sintaks berikut untuk membuat kolom baru di DataFrame yang menampilkan persentase total poin yang dicetak, dikelompokkan berdasarkan tim:

 #calculate percentage of total points scored grouped by team
df[' team_percent '] = df[' points '] / df. groupby (' team ')[' points ']. transform (' sum ')

#view updated DataFrame
print (df)

  team points team_percent
0 A 12 0.121212
1 A 29 0.292929
2 A 34 0.343434
3 A 14 0.141414
4 A 10 0.101010
5 B 11 0.100000
6 B 7 0.063636
7 B 36 0.327273
8 B 34 0.309091
9 B 22 0.200000

Kolom team_percent menunjukkan persentase total poin yang dicetak oleh pemain ini di timnya.

Misalnya, pemain Tim A mencetak total 99 poin.

Jadi pemain di baris pertama DataFrame yang mencetak 12 poin mencetak total 12/99 = 12,12% dari total poin Tim A.

Demikian pula, pemain di baris kedua DataFrame yang mencetak 29 poin mencetak total 29/99 = 29,29% dari total poin Tim A.

Dan seterusnya.

Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi GroupBy di sini .

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Pandas: cara menghitung jumlah kumulatif per kelompok
Pandas: cara menghitung nilai unik berdasarkan kelompok
Pandas: cara menghitung mode berdasarkan grup
Pandas: cara menghitung korelasi berdasarkan kelompok

Tambahkan komentar

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