第七天,我們繼續深入資料清洗的核心主題。在真實情境中,資料來源可能重複匯入、系統可能重送請求,導致出現多筆一模一樣的紀錄;此外,數字欄位也常因為混雜貨幣符號或逗號而被誤判為字串型別(object),無法直接進行數值運算。今天我們建立純 Python 腳本 day07_data_cleaning_duplicates.py,掌握重複值偵測與刪除,以及型別轉換校正的實戰技巧。
第一部分
新建 day07_data_cleaning_duplicates.py。首先建立一組混雜了重複訂單與異常字串數值的原始資料,並使用 .duplicated() 檢查是否存在完全重複的資料列:
第二部分
發現重複值後,我們使用 drop_duplicates() 進行剔除。可以針對整列進行去重,也可以依據特定業務唯一鍵(例如:訂單編號)來確保唯一性:
第三部分
去重完成後,檢查欄位型別會發現「消費金額」和「購買數量」都是字串(object)。我們必須先用文字處理方法 .str.replace() 移除非數字字符(如 $ 和 ,),再透過 astype() 或 pd.to_numeric() 轉為數值型態,才能正確計算總額:
第四部分
在終端機輸入 python day07_data_cleaning_duplicates.py 執行驗證,確認重複列順利排除、金額轉型成功且計算出正確總額。按 Ctrl + S 儲存後推送到遠端儲存庫:
今日心得/遇到的問題
今天學會了文字型數值的清洗與型別轉換。在剛拿到真實商業數據時,許多看似是數字的欄位其實都被夾帶了符號(例如 $, %, 或 ,),如果直接調用 .astype(int) 會拋出 ValueError。正確的標準流程必須是「先清除雜訊字元,再進行轉型」,這樣後續建立指標與計算總營收時才不會出錯。