為了自學數據分析與資料科學的理論與實務技能,跟ChatGPT討論並制定了以下學習路線圖,針對我的需求與當前能力設計每日目標。學習歷程將使用 RemNote 記錄,每次學習結束後整理進度,並在每周或學程結束後統整記錄。
一、學習目標與工具
- 目標:掌握數據分析與資料科學的理論與實務技能,包含 Python 數據分析與 SQL 查詢能力。
- 紀錄工具:RemNote(記錄學習歷程、題型套路、錯誤分析與複習清單)。
- 學習時間:每日約 1 小時,持續 4 週。
二、Python for Data Analysis 學習路線(4 週)
📅 週 1:基礎工具與資料理解
- 目標:熟悉 Pandas 基礎操作與資料探索。
- 每日計劃:
- Day 1–3:Pandas 資料載入、檢查與探索學習基礎方法。
- Day 4–5:資料選擇與篩選練習。
- Day 6–7:資料型態轉換與缺失值處理。
📅 週 2:資料清理與轉換
- 目標:掌握資料清理與多表整合技巧。
- 每日計劃:
- Day 8–9:字串處理與欄位清理學習 .str, .apply() 方法。
- Day 10–11:資料整併練習 merge, concat, groupby。
- Day 12–13:時序資料處理使用 pd.to_datetime, .resample()。
📅 週 3:資料分析邏輯與視覺化
- 目標:學習統計分析與視覺化工具應用。
- 每日計劃:
- Day 14–15:常見統計應用計算平均數、中位數、標準差、IQR。
- Day 16–17:基礎視覺化使用 Matplotlib, Seaborn 繪製直方圖、箱型圖、熱力圖。
- Day 18–19:小專案實作:選擇 Kaggle 專案(Titanic 或 Superstore 銷售分析)練習分析邏輯。
📅 週 4:整合實戰與應用報告
- 目標:完成完整數據分析流程並輸出報告。
- 每日計劃:
- Day 20–22:完成一份完整數據分析流程:問題假設 → 資料整理 → 描述統計 → 圖表 → 結論推論。
- Day 23–24:輸出報告格式:Markdown 或簡報(未來可銜接 Tableau 製作互動版)。
三、LeetCode SQL 刷題學習路線(4 週)
🔹 工具與平台建議
- 練習平台:
- 主:LeetCode
- 輔:Hackerrank SQL, StrataScratch(真實業界資料集)
- 紀錄工具:RemNote(記錄題型套路、錯誤原因、複習清單)
📅 週 1:基本邏輯鞏固與聚合/排序/條件應用
- 重點主題:基本查詢、GROUP BY、HAVING、排序與條件綜合運用。
- 建議題目(LeetCode):
- 175. Combine Two Tables
- Second Highest Salary
- Customers Who Never Order
- Department Highest Salary
- Calculate Special Bonus
- Delete Duplicate Emails
- Swap Salary
- 練習目標:
- 熟悉 SQL 流程:FROM → JOIN → WHERE → GROUP BY → HAVING → SELECT。
- 整理「題型分類 + 解題套路」。
📅 週 2:JOIN 與子查詢深化
- 重點主題:多表 JOIN(INNER / LEFT)、子查詢、NOT EXISTS / IN。
- 建議題目(LeetCode):
- 182. Duplicate Emails
- Find Customer Referee
- Not Boring Movies
- Restaurant Growth
- Product Sales Analysis I / II / III
- Sales Analysis III
- 練習目標:
- 熟練 JOIN 條件與 NULL 處理(特別是 LEFT JOIN)。
- 練習子查詢拆解與 NOT EXISTS/IN 替換。
📅 週 3:視窗函數與排序分析
- 重點主題:視窗函數(ROW_NUMBER(), RANK(), DENSE_RANK())與 OVER (PARTITION BY...)。
- 建議題目(LeetCode):
- 180. Consecutive Numbers
- Department Top Three Salaries
- Trips and Users
- Tree Node
- Find the Subtasks That Did Not Execute
- Rank Scores
- 練習目標:
- 應用視窗函數解決分組排名、取前 N 名、連續行等情境。
- 整理排序函數差異與適用場景(RemNote 記錄表格)。
📅 週 4:綜合題挑戰與實務場景模擬
- 重點主題:複合邏輯題與實務報表場景。
- 建議題目(LeetCode):
- 1045. Customers Who Bought All Products
- Highest Grade for Each Student
- Students and Examinations
- Replace Employee ID With The Unique Identifier
- Capital Gain/Loss
- Top Travellers
- 練習目標:
- 拆解複雜問題為清晰 SQL 邏輯。
- 建立查詢模板:使用 CTE、視窗函數、子查詢交叉解題。
四、建議與注意事項
1. 加強基礎資料分析思維
- 學習基本統計知識(平均數、中位數、標準差、相關性等)。
- 練習資料清理與轉換(缺失值處理、格式統一、類別合併)。
- 推薦資源:
- Coursera「Data Analysis with Python」
- Khan Academy 統計基礎課程
2. 補強 Python / Pandas 能力
- 使用 Jupyter Notebook 練習 Pandas 與 Matplotlib / Seaborn。
- 選擇 Kaggle 實務專案,練習完整分析流程:
- 資料理解 → 清理 → 分析 → 解釋 → 視覺化
- 以「商業問題」角度提出洞察。
五、總結
- 學習方式:每日 1 小時,結合理論學習與實務練習。
- 成果預期:
- 掌握 Pandas 與 SQL 的核心技能。
- 完成至少一個 Kaggle 小專案與多份 SQL 查詢練習。
- 產出數據分析報告(Markdown 或簡報)。
- 後續計畫:探索 Tableau 互動視覺化,進一步提升實務應用能力。