Cara mencari nilai median per grup di panda
Anda dapat menggunakan sintaks dasar berikut untuk menghitung nilai median per grup di panda:
df. groupby ([' group_variable '])[' value_variable ']. median (). reset_index ()
Anda juga dapat menggunakan sintaks berikut untuk menghitung nilai median, yang dikelompokkan berdasarkan beberapa kolom:
df. groupby ([' group1 ', ' group2 '])[' value_variable ']. median (). reset_index ()
Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.
Contoh 1: Mencari Nilai Median Berdasarkan Grup
Anggaplah kita memiliki DataFrame panda berikut:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'], ' points ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame df team position points rebounds 0 A G 5 11 1 A G 7 8 2 A F 7 10 3 A F 9 6 4 B G 12 6 5 B G 9 5 6 B F 9 9 7 B F 4 12
Kita dapat menggunakan kode berikut untuk mencari nilai median kolom “poin”, yang dikelompokkan berdasarkan tim:
#calculate median points by team
df. groupby ([' team '])[' points ']. median (). reset_index ()
team points
0 to 7.0
1 B 9.0
Dari hasilnya kita dapat melihat:
- Poin median yang dicetak oleh pemain di tim A adalah 7 .
- Poin median yang dicetak oleh pemain di tim B adalah 9 .
Perhatikan bahwa kita juga dapat mencari nilai median dari dua variabel sekaligus:
#calculate median points and median rebounds by team
df. groupby ([' team '])[[' points ', ' rebounds ']]. median ()
team points rebounds
0 to 7.0 9.0
1B 9.0 7.5
Contoh 2: Mencari Nilai Median dengan Beberapa Kelompok
Kode berikut menunjukkan cara mencari nilai median kolom “poin”, yang dikelompokkan berdasarkan tim dan posisi:
#calculate median points by team
df. groupby ([' team ', ' position '])[' points ']. median (). reset_index ()
team position points
0 A F 8.0
1 A G 6.0
2 B F 6.5
3 B G 10.5
Dari hasilnya kita dapat melihat:
- Poin median yang dicetak oleh pemain di posisi “F” di tim A adalah 8 .
- Median poin yang dicetak oleh pemain di posisi “G” tim A adalah 6 .
- Median poin yang dicetak oleh pemain di posisi “F” di tim B adalah 6,5 .
- Median poin yang dicetak oleh pemain di posisi “G” tim B adalah 10,5 .
Sumber daya tambahan
Tutorial berikut menjelaskan cara menjalankan fungsi umum lainnya di panda:
Bagaimana menemukan nilai maksimal per grup di Pandas
Cara mencari jumlah per grup di panda
Cara menghitung kuantil berdasarkan kelompok di Pandas