首頁 >後端開發 >Python教學 >如何將多個函數應用於 Pandas 中的多個 Groupby 欄位?

如何將多個函數應用於 Pandas 中的多個 Groupby 欄位?

Patricia Arquette
Patricia Arquette原創
2024-12-30 05:28:09370瀏覽

How to Apply Multiple Functions to Multiple Groupby Columns in Pandas?

將多個函數應用於多個Groupby 欄位

概述

在groupby 操作中將多個函數應用於多個欄位是資料分析中的常見任務。 Pandas 提供了多種方法來執行此任務,包括使用函數字典或套用傳回多個系列的自訂函數。

使用函數字典

對於Series groupby 對象,您可以應用使用以輸出列名作為鍵的字典的多個函數:

group = pd.groupby("column")
group['column'].agg({'func1': np.mean, 'func2': np.std})

但是,此方法不能在DataFrame 上使用groupby 物件。

使用 apply

apply 方法可讓您套用對群組資料執行多項計算的自訂函數。函數應傳回包含結果的系列,使用索引來標記新列。

def func(group_data):
    return pd.Series({
        'func1': group_data['column1'].mean(),
        'func2': group_data['column2'].std(),
    })

group.apply(func)

使用自訂聚合函數

您也可以定義一個自訂聚合函數,該函數利用傳遞給apply 方法的DataFrame 的:

def agg_func(group_data):
    return group_data.agg({'column1': np.mean, 'column2': np.std})

group.agg(agg_func)

處理依賴關係

對於函數依賴groupby 物件中的其他列,您可以使用ix方法來存取這些列。但是,請注意,此方法已棄用,應替換為loc:

def func(group_data):
    return group_data.mean().ix['column1']

結論

根據複雜程度,可以使用多種方法來實現對pandas groupby 物件執行複雜聚合以及所應用功能的依賴性。透過利用 apply 方法或建立自訂聚合函數,您可以有效率地執行這些操作並將結果合併到單一 DataFrame 中。

以上是如何將多個函數應用於 Pandas 中的多個 Groupby 欄位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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