3 数据分析与可视化

这一阶段解决的是“能不能理解数据、整理数据、发现规律并表达结论”。无论你后面做机器学习、RAG、Agent 还是产品数据分析,数据能力都是底层能力。
故事化导入:像数据侦探一样办案
进入这一阶段,你可以把自己想象成一名数据 侦探。CSV、Excel、日志和数据库表就像一堆线索:有些线索缺失,有些线索重复,有些线索看起来正常但其实是异常值。你的任务不是立刻套模型,而是先把线索整理干净,再用统计和图表找出规律,最后讲出一个可信的结论。
学习闯关地图
互动练习:每个数据集都做三次提问
第一次提问看“它是什么”:有多少行、多少列、每列代表什么。第二次提问看“它干不干净”:缺失值在哪里、异常值在哪里、类型是否正确。第三次提问看“它说明什么”:哪个变量最高、哪个趋势最明显、哪个分组差异值得继续研究。
项目彩蛋
本阶段的彩蛋作品是一份真正可展示的数据分析报告。你可以把它做成 Notebook,也可以整理成图文报告:开头提出问题,中间展示清洗和分析过程,最后给出结论和下一步建模建议。后面学机器学习时,这份报告可以直接升级成“从数据分析到预测模型”的完整项目。
阶段定位
| 信息 | 说明 |
|---|---|
| 适合对象 | 已经能写基础 Python,希望进入数据和 AI 项目的学习者 |
| 预估学时 | 80~120 小时 |
| 前置要求 | 完成 Python 编程基础 |
| 阶段产出 | 一个完整的数据分析报告,一个多来源数据整理项目 |
新手最小通关路线
新手先学会读取数据、查看字段、处理缺失值、做基础筛选和分组统计,再用 Matplotlib 或 Seaborn 画出能解释问题的图。只要能完成一份从数据读取到结论总结的 Notebook 报告,就算完成最小通关。
进阶深入路线
有经验的学习者可以深入多来源数据合并、时间序列、数据库读取、可视化叙事和分析报告结构。进一步尝试把数据清洗过程写成可复用函数,并为后续机器学习项目输出干净的数据集。
新人先做什么,进阶再做什么
新人第一次学这一阶段时,先把数据当成“需要清理的表格”。能读入数据、看懂列含义、处理缺失值、画出关键图表、写出三条结论,就已经抓住主线。
有经验的学习者可以把重点放在分析可信度上:数据来源是否可靠,清洗规则是否可解释,图表是否误导,结论有没有边界。你的目标不是画更多图,而是做出能支撑后续建模和业务判断的数据分析。
为什么 AI 离不开数据
模型并不是从空气中学习。数据的质量、结构、分布和标注方式会直接影响模型结果。即使你未来主要做大模型应用,也会遇到文档清洗、日志分析、评估集构造、用户反馈统计和检索质量分析。
本阶段学习路径
第一章用纯 Python 处理数据,让你体会为什么需要 NumPy 和 Pandas。
第二章学习 NumPy。你会理解数组、向量化、广播、矩阵运算和随机统计,这些概念会在机器学习和深度学习里反复出现。
第三章学习 Pandas。你会处理表格数据、读写文件、筛选过滤、清洗缺失值、分组聚合、合并数据和处理时间序列。
第四章学习可视化。你会用图表表达分布、趋势、关系和异常,而不是只把结果打印成表格。
第五章数据库是选修,但如果你想做真实应用或企业数据项目,建议至少理解关系型数据库和 SQL 基础。
学完后你应该能做到
- 能读取 CSV、Excel、JSON 等常见数据文件
- 能用 Pandas 完成筛选、清洗、转换、聚合和合并
- 能用 NumPy 理解数组计算和基础统计
- 能选择合适图表表达数据结论
- 能把数据分析过程整理成 Notebook 或报告
- 能为后续机器学习项目准备干净的数据集
常见误区
不要把数据分析学成“背 API”。Pandas 方法很多,第一遍不需要全部记住。你更应该理解数据处理的流程:先看数据长什么样,再查缺失和异常,再做转换和统计,最后用图表验证判断。
也不要只画漂亮图。图表的目的不是装饰,而是回答问题。每张图都应该对应一个明确问题,比如“哪个特征和目标最相关”“是否存在明显异常”“不同类别之间有什么差异”。
数据错误剧场:图表和结论为什么会骗人
如果图表看起来很漂亮但结论奇怪,先检查数据是否有缺失、重复、异常值和单位混乱;如果分组结果不符合直觉,检查分类字段是否有空格、大小写或编码问题;如果相关性很高,先问是否只是共同受时间、规模或采样方式影响。
最小可运行实验:从脏数据到一张可信图表
本阶段最小实验是准备一个包含缺失值、重复行和异常值的小 CSV,完成读取、检查、清洗、统计和可视化。你要证明自己不是只会调用 Pandas API,而是能解释每一步为什么这样处理。
import pandas as pd
df = pd.read_csv("learning_log.csv")
print(df.info())
print(df.isna().sum())
clean_df = df.drop_duplicates()
summary = clean_df.groupby("topic")["minutes"].sum().sort_values(ascending=False)
print(summary)
真正的通过标准不是代码能跑,而是你能说明:哪些数据被改了,为什么改,对结论有什么影响。
数据失败案例库:先查字段、单位和样本来源
| 现象 | 常见原因 | 定位方法 | 修复方向 |
|---|---|---|---|
| 图表好看但结论不可信 | 缺失、重复、异常值未处理 | 查看 info()、缺失统计和分布 | 记录清洗规则和影响范围 |
| 分组统计结果异常 | 类别字段有空格、大小写或别名 | 打印唯一值和频次 | 统一字段命名和类别映射 |
| 相关性看起来很高 | 共同受时间、规模或采样方式影响 | 分层对比、画散点图 | 加入业务解释和局限说明 |
| Notebook 无法复现 | 数据路径、依赖或执行顺序混乱 | 从头重启运行 | 固定数据路径、依赖和执行顺序 |
阶段验收 Rubric
| 等级 | 验收标准 | 作品集证据 |
|---|---|---|
| 最低通关 | 能读取、清洗、统计并画出关键图表 | Notebook、CSV、图表输出 |
| 推荐通关 | 能围绕问题写出数据分析报告 | 数据字典、清洗记录、结论说明 |
| 作品集通关 | 能解释数据限制和后续建模风险 | 失败样本、局限性、可复现运行说明 |
阶段项目
基础版是选择一个公开 CSV 数据集,完成字段理解、缺失值检查、基础统计和 3~5 张关键图表。标准版需要把分析过程整理成结构完整的 Notebook 或报告,包含问题、清洗、分析、结论和下一步建议。挑战版可以整合多个数据源,加入数据库或网页数据,并形成一个更接近真实业务的数据分析流程。
本阶段趣味任务卡
| 玩法 | 本阶段任务 |
|---|---|
| 剧情任务 | 让助手看懂学习记录:发现缺失、重复、异常值,并把结论画成可信图表。 |
| Boss 战 | 脏数据侦探 |
| 可解锁徽章 | 脏数据侦探、图表讲述者 |
| 新手轻松版 | 只完成一个最小输入到输出闭环,先留下运行截图或命令输出 |
| 作品集证据 | 数据质量检查表和一张有解释的图 |
如果你觉得本阶段内容很多,先把这张任务卡当作最低目标。能完成新手轻松版,就可以继续往后学;以后准备作品集时,再回来升级标准版和挑战版。
阶段交付物
| 交付物 | 最小版 | 作品集版 |
|---|---|---|
| 数据分析 Notebook | 完成读取、清洗、统计和图表 | 有问题定义、清洗规则、关键发现和局限 |
| 数据质量记录 | 标出缺失、重复和异常值 | 说明处理理由、影响范围和保留/删除依据 |
| 可视化结果 | 画出 3~5 张关键图表 | 每张图都有问题、结论和误导风险说明 |
| 分析报告 | 写出 3 条结论 | 能连接业务问题、后续建模和数据限制 |
| 可复现说明 | 写清数据来源和运行方式 | 有数据字典、依赖、随机种子或版本记录 |
和 AI 学习助手贯穿项目的关系
本阶段可以对应 AI 学习助手 v0.3:分析学习记录,统计学习时长、完成率和拖延主题,并生成图表。 如果你正在按贯穿项目路线学习,建议本阶段结束时至少提交一次版本记录:本阶段新增了什么能力、如何运行、示例输入输出是什么、遇到了什么问题、下一步准备怎么改。
阶段通关标准
| 通关层级 | 你需要做到什么 |
|---|---|
| 最低通关 | 能用 NumPy、Pandas、SQL 和可视化工具完成一份数据分析报告。 |
| 推荐通关 | 完成本阶段至少一个可运行小项目,并在 README 中记录运行方式、示例输入输出和遇到的问题。 |
| 作品集通关 | 把本阶段产出接入“AI 学习助手”贯穿项目,留下截图、日志、评估样例和下一步计划。 |
学完本阶段后,不需要把所有细节都背下来。更重要的是能说清楚:本阶段解决什么问题,它和上一阶段的关系是什么,以及它会怎样支撑后续学习。下一阶段会用这些数据直觉理解概率、向量、梯度和模型评估。