iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
自我挑戰組

拯救混亂數據:30 天 Python 輕量級 ETL 與電商關聯資料分析 系列

拋開乾淨的玩具資料,迎接真實世界的數據挑戰!
本系列是我針對真實商業數據的端到端處理實戰,
我使用涵蓋 9 張關聯表的巴西電商數據(Olist Dataset),30 天挑戰聚焦三大核心:
1.Extract & Load:實作多表關聯讀取與輕量資料庫寫入。
2.Transform 實戰:運用 Pandas 清洗髒數據、處理遺失與異常值。
3.商業洞察:實作 RFM 顧客分群與留存率等核心指標。
完成從實驗室理論走向業界實務的最後一哩路!

參賽天數 17 天 | 共 20 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

[Day 01] 啟航!告別乾淨假資料,真實電商數據的 30 天挑戰

為什麼會想寫這個系列?過去在實驗室專注於深度學習與模型訓練時,我們往往習慣了高度標準化的資料集。無論是調整演算法還是優化網路架構,重點多半放在「如何提升模型的預...

2026-09-08 ‧ 由 yu 分享
DAY 2

[Day 02] 掌握全局:用 ER Diagram 釐清 9 張電商資料表的關聯邏輯

為什麼不直接開始寫 Code? 拿到資料的直覺往往是直接用 read_csv 讀取,但這在業界可以說是大忌!資料不是平的: 企業數據通常分散在多張關聯式資料表...

2026-09-09 ‧ 由 yu 分享
DAY 3

[Day 03] ETL 起手式:開發環境與 Pandas 批次讀取實戰

建立資料工作區 昨天我們已經取得了 Olist 數據庫的「建築設計圖」!今天,我們要正式進入輕量級 ETL 的第一步:Extract(萃取)。 步驟一:一分鐘建...

2026-09-10 ‧ 由 yu 分享
DAY 4

[Day 04] 數據健康檢查:不急著畫圖,先用 EDA 摸清「訂單主表」的底細

初探資料,我們到底該先看什麼? 前言 :昨天我們成功用一個字典 olist_db 把 9 張 CSV 表格優雅地收納進記憶體中。現在資料準備就緒,面對這數據,第...

2026-09-11 ‧ 由 yu 分享
DAY 5

[Day 05] 資料清洗 Transform:批次校正時間格式與空值邏輯判定

進入 ETL 的核心「Transform」 昨天我們取出最重要的「訂單主表 (orders)」做了一次徹底的健康檢查。我們成功抓出了今天必須動手修理的兩個問題:...

2026-09-12 ‧ 由 yu 分享
DAY 6

[Day 06] ETL 核心技法:用 pd.merge 實作左外部合併與資料粒度驗證

跨表合併與「資料粒度」的考驗 經過昨天的 Transform 階段,我們的「訂單主表 (orders)」已經擁有了乾淨的時間格式與體質。但你如果仔細看,表裡除了...

2026-09-13 ‧ 由 yu 分享
DAY 7

[Day 07] 拆解一對多 Merge 陷阱與 Groupby 營收聚合實戰

昨日的防呆機制今日卻居然報錯了!? 在昨天[Day 6]的文章中,我們千交代萬交代:合併資料後一定要用 assert len(df_before) == len...

2026-09-14 ‧ 由 yu 分享
DAY 8

[Day 08] 從宏觀走向洞察:剔除無效訂單,精算真實電商月營收 (GMV)

宏觀分析的第一步:釐清有效訂單的認列標準 昨天我們成功打通了訂單主表、客戶表與明細表,整合出一張具備完整維度的寬表 final_orders。 當手上有一張包含...

2026-09-15 ‧ 由 yu 分享
DAY 9

[Day 09] 走出平均值盲點:巴西各州單量集中度與客單價 (AOV) 反差

從宏觀走向區域維度 確認完月營收大盤後,下一個關鍵問題是:「營收來自哪裡?消費者的購買習慣有區域差異嗎?」 今天我們以昨天篩選出的有效訂單 valid_or...

2026-09-16 ‧ 由 yu 分享
DAY 10

[Day 10] 驗證偏遠州的代價:計算運費比率 (Freight Ratio) 揪出物流痛點

驗證昨天的商業推論 在 Day 9 的地理下鑽分析中,我們發現 PB、AP、AC 等偏遠州的客單價(AOV)高達 190~218 BRL,遠高於聖保羅(SP)...

2026-09-17 ‧ 由 yu 分享