Pandas: cara menggunakan groupby dengan banyak agregasi


Anda dapat menggunakan sintaks dasar berikut untuk menggunakan groupby dengan beberapa agregasi di panda:

 df. groupby (' team '). agg (
    mean_points=(' points ', np. mean ),
    sum_points=(' points ', np. sum ),
    std_points=(' points ', np. std ))

Rumus khusus ini mengelompokkan baris DataFrame berdasarkan variabel yang disebut team dan kemudian menghitung beberapa ringkasan statistik untuk variabel yang disebut points .

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: Menggunakan Groupby dengan Banyak Agregasi di Pandas

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

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['Mavs', 'Mavs', 'Mavs', 'Heat', 'Heat', 'Heat'],
                   ' points ': [18, 22, 19, 14, 14, 11],
                   ' assists ': [5, 7, 7, 9, 12, 9]})

#view DataFrame
print (df)

   team points assists
0 Mavs 18 5
1 Mavs 22 7
2 Mavs 19 7
3 Heat 14 9
4 Heat 14 12
5 Heat 11 9

Kita dapat menggunakan sintaks berikut untuk mengelompokkan baris DataFrame berdasarkan team , lalu menghitung rata-rata, jumlah, dan deviasi standar poin untuk setiap tim:

 import numpy as np

#group by team and calculate mean, sum, and standard deviation of points
df. groupby (' team '). agg (
    mean_points=(' points ', np. mean ),
    sum_points=(' points ', np. sum ),
    std_points=(' points ', np. std ))

      mean_points sum_points std_points
team			
Heat 13.000000 39 1.732051
Mavs 19.666667 59 2.081666

Hasilnya menampilkan mean, jumlah, dan deviasi standar variabel poin untuk setiap tim .

Anda dapat menggunakan sintaks serupa untuk melakukan pengelompokan dan menghitung agregasi sebanyak yang Anda inginkan.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas panda umum lainnya:

Cara menghitung nilai unik menggunakan Pandas GroupBy
Cara menerapkan fungsi ke Pandas Groupby
Cara Membuat Plot Batang dari Pandas GroupBy

Tambahkan komentar

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