面向 AI 开发的 Python 快速入门
这是一本从零开始、面向 AI 与数据分析开发的 Python 教程。
它不讲"Python 有什么",而是把 38 章串成一条线:把一堆 CSV 变成"我敢下判断的证据"。 学完之后,你能独立完成一份《某批次电池数据体检报告》——数据经清洗、含 4 张图、每个结论都能追到某个统计量。
这本书适合谁
| 适合 | 不适合 |
|---|---|
| 完全没写过代码,想从零学 Python | 已经熟练使用 Python,想学高级特性(装饰器、元类、asyncio) |
| 会别的语言,想快速上手 Python 做数据分析 | 想直接学深度学习框架(PyTorch / TensorFlow) |
| 做硬件 / 工艺 / 测试,需要自己处理实验数据 | 想找"Python 大全"式的手册(本书刻意只讲必用部分) |
前置要求:零编程基础。 只需要会基本的电脑操作、能用命令行敲命令。
你会学到什么
技术栈(全部是 AI / 数据分析的行业标准工具):
Python 3.12+ 语言本身:数据类型、控制流、函数、类、异常、类型注解
NumPy 数值计算:数组、向量化、广播 —— 所有 AI 框架的底层思路
Pandas 表格数据:读取、筛选、分组、时间序列、缺失值、落盘
Matplotlib 可视化:折线图、散点图、热力图、箱线图能力目标——学完后你能:
- 读懂并写出 100 行以内的数据处理脚本,且知道每一行在干什么;
- 拿到一份陌生的 CSV,在 10 分钟内说清它的规模、字段含义、数据质量问题;
- 用「物理规则 + 统计规则」发现异常,并给出可追溯的处置方案;
- 画出 4 类基本图表,并且知道每张图分别适合回答什么问题;
- 看懂 90% 的 Python 报错信息,能自己定位问题。
主线项目:电池数据体检报告
全书围绕一个虚构但物理自洽的场景:某电池厂有 12 支电芯,每支从第 1 次循环一路跑到退役(SOH 降到 0.80)。 数据由公式现场合成(不联网、不含任何真实产线数据,真实电池数据涉密),随机种子固定为 42,任何机器上重复运行结果逐字节一致。
| 字段 | 量纲 | 含义 |
|---|---|---|
cell_id | — | 电芯编号 C001~C012 |
batch | — | 批次 A/B/C/D |
cycle | 次 | 已循环次数,从 1 开始 |
timestamp | 日期 | 第 1 次循环 = 2023-01-01,之后每天 1 次循环 |
capacity_ah | Ah | 实测放电容量(额定 2.5 Ah) |
soh | — | 健康度 = 容量 / 额定容量 |
resistance_mohm | mΩ | 直流内阻 |
temp_rise_c | ℃ | 循环平均温升 |
coulombic_eff | — | 库仑效率 |
核心退化公式(后面每一章都在用它):
SOH = 1 - 0.20 · c^β c = 已循环次数 / 总寿命,β 每支电芯不同
内阻 = 40 · (1 + γ · c^1.5) 指数 1.5 → 内阻上升「滞后」于容量下降
温升 = 6 + 10 · c^β为什么用这个场景:它同时包含数值、类别、时间三类字段,有缺失、有异常、有强相关, 几乎覆盖了真实数据分析会遇到的所有情况——而数据量只有 1.4 万行,在你自己的笔记本上几秒钟就能跑完。
学习路径
| 部分 | 章节 | 内容 | 大概用时 |
|---|---|---|---|
| 起步 | 01 | 课程说明 + 环境安装(先读这一章) | 60 分钟 |
| A · Python 基础 | 02–16 | 变量 → 循环 → 函数 → 类 → 类型注解 | 8~12 小时 |
| B · NumPy | 17–22 | 数组、向量化、广播、聚合 | 3~4 小时 |
| C · Pandas | 23–31 | DataFrame、筛选、分组、时间序列、缺失值 | 6~8 小时 |
| D · 数据清洗 | 32–34 | Z 分数、IQR、异常处置策略 | 2~3 小时 |
| E · 可视化 | 35–38 | 折线、散点、热力、箱线 | 3~4 小时 |
| F · 阶段目标 | 39 | 组合成一份完整报告 | 2 小时 |
总计约 25~35 小时。建议节奏:每天 2 小时,两周走完;零基础可以放慢到一个月。
怎么用这本书
四种读法,按你的情况选一种
① 系统学习(推荐):按 01 → 39 顺序读,每章都跑一遍代码、做一遍练习。 遇到不懂的先回头看上一章,不要跳。本课程的设计是"一次只加 1~2 个新概念",跳步会让后面变得很难。
② 已有编程基础:02–10 快速扫过(重点看"常见坑"和练习),从第 11 章开始认真读。 第 15 章(类与对象)和第 16 章(类型注解)即使有基础也建议看——它们决定了你的代码能否维护。
③ 只想做数据分析:先读第 01 章装好环境,然后跳到第 17 章(NumPy)。 但第 06、09、10、12 章(列表、字典、函数、读文件)是基础,建议至少读一遍。
④ 当参考手册:每章的「常见坑」小节就是速查表。出问题时先来这里搜报错信息。
每章的固定结构(知道这个能省很多时间)
┌─ 开头:这一章要解决什么 + 最容易踩的坑
├─ 概念讲解:是什么、为什么、和什么容易混
├─ 可运行示例:代码 + 真实输出 + 逐段解释
├─ 常见坑:报错信息长什么样、为什么、怎么改
├─ 练习:3~5 道题,答案默认折叠(先自己做!)
└─ 面向 AI 开发:这一章的知识在 AI 项目里用在哪里关于练习答案:每道题的答案都放在折叠块里(像下面这样,点击展开)。
点一下试试 —— 这就是练习答案的样子
看到了吧?强烈建议先自己写、跑一遍、看到输出,再点开对照。
直接看答案的收益接近于零 —— 编程是肌肉记忆,看会了和写出来完全是两回事。
配套数据包怎么用(重要)
本课程刻意不提供示例代码和练习答案的文件包 —— 只提供数据和环境工具。
为什么:编程是肌肉记忆。看懂一段代码和亲手把它敲出来、跑出结果、撞上报错再改好, 是完全不同的两件事。对零基础来说,敲代码本身就是学习。
代码在书里:每章的「可运行示例」小节都给了完整代码和真实输出,照着敲即可; 练习答案在每章末尾是可折叠的,先自己写,再点开对照。
数据包下载:ai-python-quick-start-code.zip(约 400 KB)。
包里有:
code/
├── README.md 依赖说明 / 数据字段与公式 / 校验和 / 常见问题
├── requirements.txt 需要装哪些包
├── check_env.py 环境自检
└── data/battery/
├── cycle_raw.csv 干净的逐循环数据(13,967 行)
├── dirty.csv 脏数据(含 2% 缺失 + 1% 异常)
├── cells.csv 电芯级真值(用来对照模型猜得准不准)
└── README.md 字段 / 公式 / 量纲 / 局限开始方式:解压后——
cd code
python check_env.py # 确认环境没问题、数据在位然后就开始敲代码。从第 03 章起,自己建 demos/ 目录,把书里的代码敲进去:
code/
├── demos/ch03-types.py ← 你自己敲出来的
├── demos/ch12-csv.py
├── exercises/ex04-03-types/ ← 你自己敲出来的
└── outputs/ ← 脚本产出的图和报告(会自动创建)第 01 章会详细讲环境怎么装、数据怎么验、出错了怎么修。
三条贯穿全书的纪律
这三句话会在不同章节反复出现,因为它们比任何语法都重要:
纪律一:先看数据,再下判断
拿到任何一张表,先跑这四行,别急着建模:
df.shape # 多大规模?
df.head() # 长什么样?
df.info() # 每列什么类型、有没有缺失?
df.describe() # 数值范围合不合理?为什么:90% 的"模型效果不好"最终都能追溯到"数据没看明白"。 一个真实的例子:某项目花了三周调模型,最后发现标签列被误当成特征(第 37 章会讲这个坑)。
纪律二:物理规则先于统计规则
发现异常值有两类方法,顺序不能反:
# ① 物理规则:不需要统计,直接按"值域"拦
mask_phys = df["capacity_ah"] < 0 # 容量不可能是负数
# ② 统计规则:值本身合法,但相对这批数据明显偏离
mask_stat = df["resistance_mohm"] > r_hi # 超过 IQR 上须
mask = mask_phys | mask_stat为什么:均值和标准差会被异常值自己带偏(数据越脏越不准),而物理规则不依赖分布。
纪律三:算出来的数字要能追溯
报告里的每个结论,都要能追到某张图或某个统计量:
| 不好的写法 | 好的写法 |
|---|---|
| "这批电池衰减挺快的" | "全批平均 SOH 从 0.9999 降到 0.8000,用了 859~1423 次循环(图 1)" |
| "数据质量还行" | "13,967 行中发现缺失 279 格、容量为负 70 条、内阻越界 68 条,处置方式见清洗日志" |
| "内阻和容量有关系" | "内阻与 SOH 的 r = -0.94(已剔除 68 个异常点;剔除前为 -0.47,见图 2 对比)" |
为什么:不能追溯的数字,别人无法验证,也无法在数据更新后复现。
关于数据的重要声明
本书使用的全部是合成数据:
- 为教学构造的合成数据,不联网、不依赖任何外部数据集;
- 随机种子固定为
42,任何机器上重复运行都得到逐字节一致的文件; - 真实电池产线数据属于企业机密,本书全程不使用;
- 数据是理想化的:单调退化、无随机跳水、无工况切换、无温度骤变。 真实电池的容量跳水(knee point)、电芯不一致性、传感器漂移都没有模拟。
结论:方法可迁移,模型不可直接上线。 把本书的方法用到真实数据上时,必须重新采集、重新标定阈值。
目录
暂无章节