首頁  >  文章  >  後端開發  >  如何計算 Pandas 中多個網站和國家的分數差異?

如何計算 Pandas 中多個網站和國家的分數差異?

Susan Sarandon
Susan Sarandon原創
2024-10-31 18:37:02123瀏覽

How to Calculate Score Differences for Multiple Websites and Countries in Pandas?

使用Pandas 將多個欄位分組並尋找差異

在處理資料集時,通常需要計算值隨時間或不同類別之間的差異或變化。在 Pandas 中,您可以利用 groupby() 和 diff() 函數來有效地執行這些計算。

在給定的場景中,您有一個 DataFrame,其中包含各個網站上的資料及其在不同國家/地區的分數。您的目標是確定每個網站國家/地區組合的 1/3/5 天分數差異。

資料框排序和分組

首先,按網站、國家/地區和地區對 DataFrame 進行排序日期列。排序可確保相似的資料點分組在一起,更容易計算差異。

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

接下來,使用 groupby() 函數按站點和國家/地區將資料分組。

<code class="python">grouped = df.groupby(['site', 'country'])</code>

計算差異

資料分組後,現在可以使用 diff() 函數計算分數差異。此函數計算組中連續行之間的差異。

<code class="python">df['diff'] = grouped['score'].diff().fillna(0)</code>

diff() 函數預設以 0 填入缺失值,確保資料集一致且完整。

產生的Dataframe

產生的DataFrame 將包含原始資料以及計算出的分數差異:

         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

此DataFrame 為每個站點/國家/地區組合提供所需的1/3/5 天分數差異。

以上是如何計算 Pandas 中多個網站和國家的分數差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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