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
Patricia Arquetteasal
2024-12-21 15:03:14879semak imbas

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()

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!

Kenyataan:
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