概述:
在Pandas 中,groupby() 方法提供了兩個用於操作按特定列分組的資料的選項:apply () 和transform()。這些方法在輸入、輸出和行為方面有所不同。
主要差異:
功能 | 應用變換 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
傳遞包含每個組的所有列d> | 為每個群組中的每個欄位傳遞單獨的系列 | ||||||||||||
輸出: | 可以傳回標量、Series、DataFrames或其他物件 | 必須傳回與群組長度相同的序列(Series、陣列或清單) | ||||||||||||
行為: |
對每個群組內的整個DataFrame 進行操作 | 一次對單一欄位進行操作 |
當您需要將自訂函數套用到每個群組中的整個 DataFrame 時。 這允許複雜的逐行處理,並傳回與輸入具有相同行數的 DataFrame。
df.groupby('State').apply(lambda x: pd.DataFrame({'Average': x.mean()}))
範例:
何時使用轉換:
df.groupby('State').transform(lambda x: x - x.mean())當您需要在當您每個組中逐列應用自訂函數時。
這允許您操作特定列不影響整個 DataFrame。
以上是應用與轉換:什麼時候應該在 Pandas Groupby 中使用 Which?的詳細內容。更多資訊請關注PHP中文網其他相關文章!