首頁 > 後端開發 > Python教學 > 如何將多個聚合應用於 Pandas 中的同一列?

如何將多個聚合應用於 Pandas 中的同一列?

Mary-Kate Olsen
發布: 2024-12-23 03:07:26
原創
181 人瀏覽過

How Can I Apply Multiple Aggregations to the Same Column in Pandas?

在Pandas 中對同一列應用多個聚合

在pandas 中,GroupBy.agg() 提供了一種便捷的方法來執行多個函數分組資料。然而,使用 agg() 將不同的函數應用於同一列似乎具有挑戰性。

傳統上,語法上不正確但所需的方法是將重複的鍵傳遞給 agg() 的字典參數,這不是Python 中允許。

為了解決這個問題,pandas 提供了幾個選項:

選項1:列表元組

截至2022 年6 月20 日,首選方法是向agg() 提供元組[(column, function)]列表,其中每個元組代表要執行的聚合指定列。

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

選項2:巢狀字典

另一種方法是使用巢狀字典,其中外部鍵是列,內部值是要套用的函數。

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

選項3:函數列表

對於 pandas 的歷史版本,另一個選擇是將函數作為列表傳遞給agg() 的字典參數。

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

透過利用這些選項,您可以方便地對同一列執行多個聚合,而不需要輔助函數或多次明確呼叫 agg()。

以上是如何將多個聚合應用於 Pandas 中的同一列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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