處理資料時,通常需要分析和比較不同組別的統計資料。 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中文網其他相關文章!