首頁 >後端開發 >Python教學 >如何以組別計算 Pandas 中的不同值?

如何以組別計算 Pandas 中的不同值?

Linda Hamilton
Linda Hamilton原創
2024-10-23 13:23:01695瀏覽

How to Count Distinct Values by Group in Pandas?

Pandas 等效項:按群組進行不同計數

當使用Pandas 作為資料庫替代方案時,通常需要執行複雜的操作,例如按組別進行不同計數團體。在本例中,我們想要計算每年每月不同的客戶端數量。

在 SQL 中,這可以使用 count(distinct) 聚合函數來實作。然而,Pandas 為此操作提供了稍微不同的語法。

要計算Pandas 中每年每月的不同客戶端,我們可以使用以下程式碼:

<code class="python">table.groupby('YEARMONTH').CLIENTCODE.nunique()</code>

groupby() 函數依照指定列(本例為YEARMONTH)將DataFrame 分成組。然後,nunique() 函數計算每個組中唯一值的數量。

這裡有一個範例來說明:

<code class="python">import pandas as pd

# Create a DataFrame with sample data
data = {
    'YEARMONTH': ['201301', '201301', '201301', '201302', '201302', '201302', '201302'],
    'CLIENTCODE': [1, 1, 2, 1, 2, 2, 3]
}
table = pd.DataFrame(data)

# Count distinct clients per year month
result = table.groupby('YEARMONTH').CLIENTCODE.nunique()

print(result)</code>

輸出:

YEARMONTH
201301    2
201302    3

如您所見可以看到,結果與SQL 查詢的預期輸出相符。

以上是如何以組別計算 Pandas 中的不同值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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