首頁 > 後端開發 > Python教學 > 如何使用 Pandas GroupBy.agg() 在單一欄位上執行多個聚合?

如何使用 Pandas GroupBy.agg() 在單一欄位上執行多個聚合?

Linda Hamilton
發布: 2024-12-10 17:31:10
原創
605 人瀏覽過

How to Perform Multiple Aggregations on a Single Column Using Pandas GroupBy.agg()?

使用 Pandas GroupBy.agg() 在同一列上進行多個聚合

使用 Pandas 時,通常需要對同一列。雖然直觀,但在 agg() 方法中多次指定同一列的直接方法在語法上並不正確。這就引出瞭如何使用 GroupBy.agg() 有效且簡潔地將不同聚合函數應用於單一欄位的問題。

解決方案

截至2022-06- 20、多重聚合的建議做法是使用字典語法:

df.groupby('dummy').agg({
    'returns': {'Mean': np.mean, 'Sum': np.sum}
})
登入後複製

在此例如, “returns”列與平均值和總和函數一起聚合。產生的 DataFrame 將包含兩個新欄位“Mean”和“Sum”,它們顯示各自的聚合。

歷史記錄

採用字典之前語法上,多重聚合有兩種替代方法:

  1. 傳遞作為列表的函數:
df.groupby('dummy').agg({'returns': [np.mean, np.sum]})
登入後複製

此方法將函數作為列表直接傳遞給agg()。 DataFrame 將包含兩個新列,分別包含平均值和總和聚合的結果。

  1. 將函數作為嵌套字典傳遞:
df.groupby('dummy').agg({'returns': {'f1': np.mean, 'f2': np.sum}})
登入後複製

與列表方法類似,函數作為字典中的字典傳遞。內部字典的鍵指定函數名稱,而值是聚合函數。 DataFrame 將為每個指定的函數名稱有一列。

以上是如何使用 Pandas GroupBy.agg() 在單一欄位上執行多個聚合?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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