使用 Pandas GroupBy 檢索分組統計
問題
問題給定一個 DataFrame df多列(col1、col2等),您想要計算對這些欄位中每個唯一的值組合進行分組統計,例如計數、平均值、中位數、最小值和最大值。
ApproachPandas 提供了全面的分組依據實現分組資料分析的功能。它允許您根據特定分組鍵聚合和轉換資料。
Countdf.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中文網其他相關文章!