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

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

Patricia Arquette
Patricia Arquette原創
2024-12-19 21:26:11988瀏覽

How to Calculate Group-Wise Statistics in Pandas Using GroupBy?

如何使用 Pandas GroupBy 取得 Dataframe 的按組統計量

在處理資料時,能夠根據特定情況總結和分析資料通常很有用分組標準。 Pandas 是一個強大的用於資料操作和分析的 Python 庫,透過其 GroupBy 功能提供了一種便捷的方法。

快速解答

要取得每個群組內的行數,請使用.size () 方法,它傳回一個Series:

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

要將其轉換為DataFrame形式,使用:

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

或者,要計算每個組的行數和其他統計數據,可以使用以下方法:

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

詳細範例

假設我們有一個名為df 的資料框,其中包含列col1 到col4。為了說明這一點,讓我們計算每組的行數:

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

輸出將顯示 col1 和 col2 值的每個唯一組合中的行數。

要將這些計數加入為列到我們的DataFrame 中,我們可以利用.reset_index(name='counts') 方法:

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

包含附加統計結果

如果我們想要計算分組資料的多個統計值,我們可以使用agg() 方法。例如,要計算col3 的平均值和計數以及col4 的中位數、最小值和計數,我們將使用:

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

這將傳回一個DataFrame,其中包含col1 的每個唯一組合所請求的統計資訊和col2 值。

結論

Pandas GroupBy 是一個基於特定標準分析資料的強大工具。透過利用適當的方法和聚合,您可以有效地獲取分組統計數據,以更深入地了解和理解您的數據。

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

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