Dapatkan Statistik Bijak Kumpulan Menggunakan Pandas GroupBy
Masalah
Diberikan DataFrame df dengan berbilang lajur (col1, col2, dll.), anda ingin mengira statistik kumpulan, seperti kira, min, median, minimum dan maksimum, untuk setiap gabungan unik nilai dalam lajur tersebut.
Pendekatan
Panda menyediakan fungsi kumpulan mengikut kumpulan yang membolehkan kumpulan- analisis data yang bijak. Ia membolehkan anda mengagregat dan mengubah data berdasarkan kekunci kumpulan tertentu.
Kira
Untuk mendapatkan kiraan baris dalam setiap kumpulan, gunakan kaedah .size() . Ia mengembalikan Siri yang mengandungi kiraan baris untuk setiap kumpulan unik. Contohnya:
df.groupby(['col1', 'col2']).size()
Untuk menukar Siri ini kepada DataFrame, anda boleh menggunakan .reset_index(name='counts'):
df.groupby(['col1', 'col2']).size().reset_index(name='counts')
Berbilang Statistik
Untuk mengira berbilang statistik bagi setiap kumpulan, gunakan kaedah .agg(). Anda boleh menentukan statistik yang anda ingin kira sebagai kamus dengan nama lajur sebagai kunci dan fungsi pengagregatan sebagai nilai. Contohnya, untuk mengira min, median dan minimum bagi lajur col3 dan col4:
df.groupby(['col1', 'col2']).agg({ 'col3': ['mean', 'count'], 'col4': ['median', 'min', 'count'] })
Gabungkan Statistik
Untuk menggabungkan pengagregatan berbeza menjadi satu DataFrame, anda boleh guna kaedah join. Ini membolehkan anda menggabungkan berbilang DataFrames berdasarkan lajur biasa. Contohnya, untuk mencipta hasil yang menggabungkan kiraan, min, median dan minimum:
counts = df.groupby(['col1', 'col2']).size().to_frame(name='counts') counts.join(gb.agg({'col3': 'mean'}).rename(columns={'col3': 'col3_mean'})) \ .join(gb.agg({'col4': 'median'}).rename(columns={'col4': 'col4_median'})) \ .join(gb.agg({'col4': 'min'}).rename(columns={'col4': 'col4_min'})) \ .reset_index()
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Statistik Bijak Kumpulan (Kiraan, Min, Median, Min, Maks) Menggunakan Pandas GroupBy?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!