
数据分析 31 天进阶路线图每天一个实战主题的系统化学习一、为什么需要路线图入门数据分析最怕两件事一是不知道该学什么今天看 Python 明天看 SQL 后天又转 Spark知识碎片化二是学了不知道怎么用视频看了一堆一上手分析真实数据就懵。这个路线图是我根据自己过去几年的学习经验结合 7 月系统整理的主题提炼出的一条31 天自学路径。每天一个实战主题按基础理论 → 工具操作 → 实战分析 → 业务应用的节奏推进。二、每日主题详解第1-7天基础夯实Day 1 - Python/Pandas 速通目标是能用 Pandas 完成基本的数据读取、筛选、聚合。不要死记方法边用边查。import pandas as pd import numpy as np # Day 1 核心操作清单 # 1. 数据读取 # read_csv 是最常用的函数注意指定编码和分隔符 df pd.read_csv(data/sales_202607.csv, encodingutf-8, # 中文文件一般用 utf-8 parse_dates[order_date]) # 自动解析日期列 # 2. 数据查看 print(df.head(3)) # 前3行 print(df.info()) # 每列的数据类型和缺失情况 print(df.describe()) # 数值列的统计摘要均值、标准差、四分位数 # 3. 数据筛选 —— 这是 80% 日常工作的核心 # 布尔索引筛选 7 月的订单 july_orders df[df[order_date].dt.month 7] # 多条件筛选金额 100 且状态为已完成 high_value df[(df[amount] 100) (df[status] 已完成)] # 4. 分组聚合 # groupby agg数据分析师的瑞士军刀 daily_stats df.groupby(df[order_date].dt.date).agg( 订单数(order_id, count), # 按天统计订单数 总金额(amount, sum), # 按天统计总金额 平均客单价(amount, mean) # 按天计算平均每单金额 ).reset_index() # 将分组键从索引变回普通列 print(daily_stats.head())Day 2 - SQL 进阶查询窗口函数是分水岭。掌握了窗口函数你才算真正会用 SQL 做分析。-- Day 2 核心窗口函数 -- 场景计算每个用户近 7 天的累计消费金额滚动窗口 WITH user_daily AS ( -- 第一步按用户日期汇总每日消费 SELECT user_id, DATE(order_time) AS dt, SUM(amount) AS daily_total FROM orders WHERE order_time 2026-07-01 GROUP BY user_id, DATE(order_time) ) SELECT user_id, dt, daily_total, -- 关键滚动 7 天窗口求和 SUM(daily_total) OVER ( PARTITION BY user_id -- 按用户分组 ORDER BY dt -- 按日期排序 ROWS BETWEEN 6 PRECEDING AND CURRENT ROW -- 包含当前行及前 6 行 ) AS rolling_7d_total, -- 同时计算排名每天消费在所有用户中的排名 RANK() OVER (PARTITION BY dt ORDER BY daily_total DESC) AS daily_rank FROM user_daily ORDER BY user_id, dt;Day 3 - 统计学基础不要求推导公式但要理解这些概念在业务中的含义对于初学者来说能正确使用这几个统计概念来解释数据差异就已经比70%只会写SQL的分析师强了。概念业务含义例子P 值结果由随机因素导致的概率P0.05 说明差异很可能是真的置信区间真实值可能落在的范围95% CI [10%, 15%] 说明转化率大概率在 10-15%相关系数两个变量之间的关联程度广告花费和销售额相关系数 0.8 → 正相关分布数据在不同值上的分布形态用户消费金额通常是长尾分布Day 4-7依次完成数据清洗、可视化、Numpy 高效计算最后一天做一个综合小项目用 Pandas Matplotlib 分析某电商 7 月销售数据输出一份 5 页的分析报告。第8-14天分析能力这周的核心是从会用工具到会做分析。记住一句话分析能力 提对问题 找对方法 讲清楚结论。# Day 8探索性数据分析EDA框架 def eda_pipeline(df: pd.DataFrame, target: str None) - dict: EDA 标准流程一套代码跑遍所有数据集 Args: df: 数据框 target: 目标变量分类问题需要 Returns: 分析结果字典 report {} # 1. 数据概览 report[shape] df.shape # 行列数 report[dtypes] df.dtypes.value_counts() # 数据类型分布 report[missing] df.isnull().sum() # 每列缺失值数量 report[missing_pct] (df.isnull().sum() / len(df) * 100).round(2) # 缺失率 # 2. 数值列分析 num_cols df.select_dtypes(include[np.number]).columns report[numeric_stats] df[num_cols].describe() # 3. 类别列分析 —— 关注类别分布是否均衡 cat_cols df.select_dtypes(include[object]).columns for col in cat_cols: # 只输出前 10 个最常见的类别避免输出太长 report[f{col}_value_counts] df[col].value_counts().head(10) # 4. 相关性矩阵 —— 发现数值变量之间的关系 if len(num_cols) 1: corr_matrix df[num_cols].corr() # 找出强相关的变量对|相关系数| 0.7 strong_corr [] for i in range(len(corr_matrix.columns)): for j in range(i1, len(corr_matrix.columns)): if abs(corr_matrix.iloc[i, j]) 0.7: strong_corr.append({ var1: corr_matrix.columns[i], var2: corr_matrix.columns[j], corr: round(corr_matrix.iloc[i, j], 3) }) report[strong_correlations] strong_corr return report第15-21天工程进阶这周进入大数据和工程领域。重点学三个东西Spark处理 TB 级数据Hive/数仓理解分层建模ODS → DWD → DWS → ADSClickHouse毫秒级 OLAP 查询-- Day 20ClickHouse 实战 —— 亿级数据秒级查询 -- ClickHouse 的核心优势列式存储 向量化执行 -- 创建 MergeTree 表ClickHouse 最常用的引擎 CREATE TABLE user_behavior ( user_id UInt64, -- 用户 ID event_type String, -- 事件类型: click, view, purchase event_time DateTime, -- 事件时间 product_id UInt64, -- 商品 ID session_id String -- 会话 ID ) ENGINE MergeTree() PARTITION BY toYYYYMM(event_time) -- 按月分区 ORDER BY (user_id, event_time); -- 排序键影响查询性能 -- 查询7 月每天各事件类型的 UV独立用户数 SELECT toDate(event_time) AS date, event_type, uniqExact(user_id) AS uv -- 精确去重计数 FROM user_behavior WHERE event_time 2026-07-01 AND event_time 2026-08-01 GROUP BY date, event_type ORDER BY date, uv DESC;第22-28天AI 赋能这周是 2026 年的特色内容。核心两点AI 辅助写 SQL/PythonPrompt 怎么写才能让 AI 生成正确的代码AI 分析 Agent让 AI 不只生成代码还能自动执行、解释结果第29-31天综合实战这三天做一个完整项目从数据采集 → 清洗 → 分析 → 可视化 → 报告把它放进你的作品集。三、每天的学习节奏建议时间段内容时长30 min理论学习博客/文档/教程建立概念框架60 min代码实操跟着敲代码动手是唯一捷径30 min总结笔记今天学到了什么费曼学习法核心周末复习 小项目串联本周知识四、资源推荐SQL 练习LeetCode 数据库题库从简单到困难循序渐进Python 数据分析Pandas 官方文档的 10 minutes to pandas 是最佳入门统计学《赤裸裸的统计学》不需要数学基础就能看懂SparkDatabricks 社区版免费不花钱就能上手练习AI 分析从 ChatGPT 的 Data Analyst 功能开始先体验再深入五、总结31 天不可能让你变成数据分析大神但可以让你从听说过变成上手做过。这个路线图的核心理念是学一点、练一点、用一点拒绝纯理论灌输。几点提醒不要跳步基础不牢后面的内容会很痛苦尤其是统计学和 SQL 窗口函数每天的输出比输入重要敲一行代码比看十页书有用把笔记公开写博客、发社交媒体用输出倒逼输入遇到问题先查 Stack Overflow 和 ChatGPT90% 的坑都有人踩过了8 月我会把这个路线图做成一个带进度追踪的学习看板感兴趣的朋友可以关注。7 月复盘系列第 2 篇完整系列请查看 22zhuling 博客首页。资料说明本文中的协议、版本、性能、成本和行业趋势应以可核验的一手资料为准。未标注统计口径的比例、时间表和预测仅作工程讨论不应视为行业事实。可参考 0731 资料来源索引并在发布前将具体来源贴到对应断言之后。