首頁 > 後端開發 > Python教學 > 如何使用 pandas GroupBy 將多個聚合函數套用到同一列?

如何使用 pandas GroupBy 將多個聚合函數套用到同一列?

Patricia Arquette
發布: 2024-12-08 11:42:12
原創
455 人瀏覽過

How Can I Apply Multiple Aggregation Functions to the Same Column Using pandas GroupBy?

使用GroupBy 對同一列上的多個函數進行聚合

在Python 的pandas 函式庫中,GroupBy.agg() 函數提供了一種便捷的方法將聚合函數應用於分組資料。然而,值得注意的是,將多個函數應用於同一列可能會很棘手。

最初,使用以下語法似乎很直觀:

df.groupby("dummy").agg({"returns": f1, "returns": f2})
登入後複製

但是,這種方法會失敗,因為Python 中不允許重複鍵。相反,pandas 提供了幾種執行此類聚合的方法:

方法 1:函數列表

函數可以作為列表傳遞:

df.groupby("dummy").agg({"returns": [np.mean, np.sum]})
登入後複製

方法2:字典函數

函數可以作為字典傳遞,其中鍵代表列名,值代表函數列表:

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

方法3 :最近更新(如2022-06-20)

在最新版本的在pandas 中,以下語法是首選:

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

此語法不僅可以無縫運行,而且在指定聚合函數和列名稱方面提供了更高的清晰度和靈活性。

以上是如何使用 pandas GroupBy 將多個聚合函數套用到同一列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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