Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mendapatkan Statistik Bijak Kumpulan (Kiraan, Min, Median, Min, Maks) Menggunakan Pandas GroupBy?

Bagaimanakah Saya Boleh Mendapatkan Statistik Bijak Kumpulan (Kiraan, Min, Median, Min, Maks) Menggunakan Pandas GroupBy?

Patricia Arquette
Lepaskan: 2024-12-21 15:03:14
asal
881 orang telah melayarinya

How Can I Retrieve Group-Wise Statistics (Count, Mean, Median, Min, Max) Using Pandas GroupBy?

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()
Salin selepas log masuk

Untuk menukar Siri ini kepada DataFrame, anda boleh menggunakan .reset_index(name='counts'):

df.groupby(['col1', 'col2']).size().reset_index(name='counts')
Salin selepas log masuk

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']
})
Salin selepas log masuk

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()
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan