首頁 >後端開發 >Python教學 >如何在 Python 中使用 Pandas GroupBy 計算分組統計?

如何在 Python 中使用 Pandas GroupBy 計算分組統計?

Barbara Streisand
Barbara Streisand原創
2024-12-21 21:18:04773瀏覽

How Can Pandas GroupBy Be Used to Calculate Group-Wise Statistics in Python?

使用 Pandas GroupBy 計算分組統計

簡介

處理資料時,通常需要分析和比較不同組別的統計資料。 Pandas 是一個用於資料操作的著名 Python 函式庫,它提供了 GroupBy 功能來輕鬆執行這些操作。

取得分組行計數

取得每個群組的行計數的最簡單方法是透過.size() 方法。此方法傳回包含分組計數的Series:

df.groupby(['col1','col2']).size()

以表格格式擷取計數(即,作為具有「計數」列的DataFrame):

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

計算多個分組統計資料

要計算多個統計數據,請使用.agg() 方法和字典。鍵指定要計算的列,而值是所需聚合的清單(例如「平均值」、「中位數」和「計數」):

df.groupby(['col1', 'col2']).agg({
    'col3': ['mean', 'count'],
    'col4': ['median', 'min', 'count']
})

自訂資料輸出

為了更好地控制輸出,可以加入單獨的聚合:

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

這會產生一個更結構化的DataFrame未嵌套的列標籤。

註腳

在提供的範例中,空值可能會導致用於不同計算的行計數出現差異。這強調了在解釋分組統計資料時考慮空值的重要性。

以上是如何在 Python 中使用 Pandas GroupBy 計算分組統計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn