首頁 >後端開發 >Python教學 >如何計算具有多個欄位的 Pandas 的分組差異?

如何計算具有多個欄位的 Pandas 的分組差異?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 06:05:31624瀏覽

How to Calculate Grouped Differences in Pandas with Multiple Fields?

具有多個欄位的Pandas 的分組差異

在這種情況下,我們的目標是計算不同地點和國家組合的分數差異

為了實現這一點,我們首先根據站點、國家/地區和日期對資料框進行排序:

<code class="python">df = df.sort_values(by=['site', 'country', 'date'])</code>

接下來,我們使用groupby 和diff 來計算每個站點內的差異和國家/地區組:

<code class="python">df['diff'] = df.groupby(['site', 'country'])['score'].diff().fillna(0)</code>

這會在每個站點和國家/地區組內產生差異,並用0 填充任何缺失值。

最後,我們顯示結果:

<code class="python">print(df)

Output:

         date    site country  score  diff
8  2018-01-01      fb      es    100   0.0
9  2018-01-02      fb      gb    100   0.0
5  2018-01-01      fb      us     50   0.0
6  2018-01-02      fb      us     55   5.0
7  2018-01-03      fb      us    100  45.0
1  2018-01-01  google      ch     50   0.0
4  2018-01-02  google      ch     10 -40.0
0  2018-01-01  google      us    100   0.0
2  2018-01-02  google      us     70 -30.0
3  2018-01-03  google      us     60 -10.0</code>

請注意,不直接支援按任意順序排序。對於這種情況,請考慮將訂單儲存在集合中並使列分類。這樣,sort_values 將與提供的順序對齊。

以上是如何計算具有多個欄位的 Pandas 的分組差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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