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. CSV、JSON、Parquet 各自最適合哪個使用時機?各舉一個日常工作情境。

  2. 為什麼讀 CSV 時所有欄位預設都是字串型別?這會帶來什麼問題?

  3. errors="coerce" 在型別轉換裡的作用是什麼?和 errors="raise" 有何差異?

  4. 缺值(NaN)和空字串("")在 Pandas 裡是同一件事嗎?為什麼要區分?

  5. 為什麼要把原始資料、處理後資料和快照分開存放?放在一起會有什麼風險?

實作題

  1. 修改 normalize_table(),讓它在遇到 schema 中未定義的欄位時,回傳警告訊息而不是直接忽略。

  2. read_data_source() 新增對 .tsv(Tab 分隔)格式的支援。

  3. 在測試中加入一個案例:輸入 Excel 檔(.xlsx),驗證輸出的 Parquet 欄位型別與 schema 一致。

  4. 新增一個 validate_schema(df, schema) 函式,在正規化後驗證每個欄位的型別是否符合預期,不符合時回傳詳細差異報告。

反思題