在DataFrame上使用groupby時,apply和transform有清楚的特性:
輸入:
輸出:
考慮使用自訂函數subtract_two從'b'中減去列'a':
def subtract_two(x): return x['a'] - x['b']
1。應用:
使用 apply,我們可以計算每組的 'a' 和 'b' 的差異,回傳一個系列:
df.groupby('A').apply(subtract_two)
2。變換:
嘗試使用變換將導致 KeyError,因為變換需要與組長度相同的序列:
df.groupby('A').transform(subtract_two) # KeyError: 'a'
要使用變換進行減法,我們可以從自訂函數傳回一個標量,並將其應用於group:
def subtract_two_scalar(x): return (x['a'] - x['b']).mean() df.groupby('A').transform(subtract_two_scalar)
這將傳回一個系列,其中包含每個群組的平均差。
以上是如何使用「apply」和「transform」透過 Groupby 進行列減法和平均值計算?的詳細內容。更多資訊請關注PHP中文網其他相關文章!