將SQL 的COUNT(DISTINCT) 轉換為Pandas 等效項
在資料作業領域,Pandas 已成為管理表格的有力工具數據。在處理 Oracle 和 SQL Server 等不同資料來源時,使用者可能會遇到將 SQL 查詢轉換為高效 Pandas 操作的挑戰。一項常見任務涉及計算不同值的數量,該任務需要與 SQL 的 COUNT(DISTINCT) 函數「等效」。
為了在 Pandas 中實現這一目標,讓我們開始探索包含列的表代表 YEARMONTH、CLIENTCODE 和各種其他屬性。在 SQL 中,可以使用以下查詢來完成每年不同的客戶端計數:
SELECT count(distinct CLIENTCODE) FROM table GROUP BY YEARMONTH;
此查詢產生的結果顯示每年的不同客戶端計數。我們如何在 Pandas 中複製此功能?
解決方案在於利用 nunique() 方法:
table.groupby('YEARMONTH').CLIENTCODE.nunique()
此表達式按 YEARMONTH 列對資料進行分組並應用 nunique()方法到每個組內的 CLIENTCODE 系列。結果是一個 DataFrame,其中列出了 YEARMONTH 值以及每年的不同客戶端數量。
為了說明這一點,請考慮一個名為table 的範例DataFrame:
CLIENTCODE YEARMONTH 0 1 201301 1 1 201301 2 2 201301 3 1 201302 4 2 201302 5 2 201302 6 3 201302
應用nunique( ) 方法產生:
YEARMONTH 201301 2 201302 3
因此,Pandas 的nunique() 方法提供了與SQL 的COUNT(DISTINCT) 等效的功能,用於有效計算指定列中的不同值。
以上是將 SQL 的 COUNT(DISTINCT) 轉換為 Pandas:如何使用 nunique() 方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!