首頁 > 後端開發 > Python教學 > 如何使用 Pandas GroupBy 檢索分組統計(計數、平均值、中位數、最小值、最大值)?

如何使用 Pandas GroupBy 檢索分組統計(計數、平均值、中位數、最小值、最大值)?

Patricia Arquette
發布: 2024-12-21 15:03:14
原創
822 人瀏覽過

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

使用 Pandas GroupBy 檢索分組統計

問題

問題

給定一個 DataFrame df多列(col1、col2等),您想要計算對這些欄位中每個唯一的值組合進行分組統計,例如計數、平均值、中位數、最小值和最大值。

Approach

Pandas 提供了全面的分組依據實現分組資料分析的功能。它允許您根據特定分組鍵聚合和轉換資料。

Count
df.groupby(['col1', 'col2']).size()
登入後複製

要取得每個組別中的行數,請使用 .size() 方法。它傳回一個包含每個唯一組的行數的系列。例如:
df.groupby(['col1', 'col2']).size().reset_index(name='counts')
登入後複製

要將Series轉換為DataFrame,可以使用.reset_index(name='counts'):

多項統計
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()
登入後複製
多項統計 多個統計數字>要計算每個組的多個統計數據,請使用.agg() 方法。您可以將要計算的統計資料指定為字典,其中列名作為鍵,聚合函數作為值。例如,要計算列col3 和col4 的平均值、中位數和最小值:組合統計要將不同的聚合組合到單一DataFrame 中,您可以使用join方法。這允許您基於公共列合併多個 DataFrame。例如,要建立組合計數、平均值、中位數和最小值的結果:

以上是如何使用 Pandas GroupBy 檢索分組統計(計數、平均值、中位數、最小值、最大值)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板