Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

練習題

基礎題

  1. 若只用 email 當成去重鍵,哪些情況可能誤判為不同人?

  2. 若同一個人可能同時使用公司信箱與私人信箱,去重策略要如何調整?

  3. 為什麼去重時通常要保留原始輸入順序?若不保留,可能帶來什麼問題?

  4. 雜湊碰撞是什麼?在日常資料清理工作中,你需要擔心它嗎?為什麼?

  5. 若直接用 set() 對整列資料去重,「欄位順序不同但值相同」的兩筆資料會被正確去重嗎?

實作題

  1. 修改 deduplicate_records,讓它可以回傳每筆保留資料對應的原始索引(例如 [(0, record0), (1, record1)])。

  2. 增加一個選項,允許只去除前後空白、但不轉小寫,讓呼叫端決定是否做大小寫正規化。

  3. 將重複資料輸出成另一份清單,供人工覆核,格式為 {"原始索引": int, "被視為重複的主紀錄索引": int}

  4. record_fingerprint 增加一個測試:驗證欄位順序不同但值相同的兩筆資料,指紋是否一致。

反思題