Pandas groupby 在多個欄位上進行差異計算
在程式設計中,操作資料至關重要,Pandas 是執行這些任務的強大庫高效。一個常見的問題是如何按多個欄位對資料進行分組併計算差異。讓我們探索如何實現這一目標。
問題:
考慮具有以下結構的DataFrame:
date site country score 0 2018-01-01 google us 100 1 2018-01-01 google ch 50 2 2018-01-02 google us 70 3 2018-01-03 google us 60 ...
目標是找到每個「地點/國家」組合的分數存在1/3/5 天的差異。
解:
為了解決這個問題,我們可以利用Pandas 的groupby和diff 函數:
df = df.sort_values(by=['site', 'country', 'date'])
df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)
輸出:
產生的DataFrame 將包含原始欄位以及「diff」欄位:date site country score diff 0 2018-01-01 fb es 100 0.0 1 2018-01-02 fb gb 100 0.0 ...
附加說明:
以上是如何計算 Pandas DataFrame 中多個欄位的分數差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!