Skip to content

面向 AI 开发的 Python 快速入门 ​

这是一本从零开始、面向 AI 与数据分析开发的 Python 教程。

它不讲"Python 有什么",而是把 38 章串成一条线:把一堆 CSV 变成"我敢下判断的证据"。 学完之后,你能独立完成一份《某批次电池数据体检报告》——数据经清洗、含 4 张图、每个结论都能追到某个统计量。

这本书适合谁 ​

适合不适合
完全没写过代码,想从零学 Python已经熟练使用 Python,想学高级特性(装饰器、元类、asyncio)
会别的语言,想快速上手 Python 做数据分析想直接学深度学习框架(PyTorch / TensorFlow)
做硬件 / 工艺 / 测试,需要自己处理实验数据想找"Python 大全"式的手册(本书刻意只讲必用部分)

前置要求:零编程基础。 只需要会基本的电脑操作、能用命令行敲命令。

你会学到什么 ​

技术栈(全部是 AI / 数据分析的行业标准工具):

Python 3.12+   语言本身:数据类型、控制流、函数、类、异常、类型注解
NumPy          数值计算:数组、向量化、广播 —— 所有 AI 框架的底层思路
Pandas         表格数据:读取、筛选、分组、时间序列、缺失值、落盘
Matplotlib     可视化:折线图、散点图、热力图、箱线图

能力目标——学完后你能:

  1. 读懂并写出 100 行以内的数据处理脚本,且知道每一行在干什么;
  2. 拿到一份陌生的 CSV,在 10 分钟内说清它的规模、字段含义、数据质量问题;
  3. 用「物理规则 + 统计规则」发现异常,并给出可追溯的处置方案;
  4. 画出 4 类基本图表,并且知道每张图分别适合回答什么问题;
  5. 看懂 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_ahAh实测放电容量(额定 2.5 Ah)
soh—健康度 = 容量 / 额定容量
resistance_mohmmΩ直流内阻
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 · NumPy17–22数组、向量化、广播、聚合3~4 小时
C · Pandas23–31DataFrame、筛选、分组、时间序列、缺失值6~8 小时
D · 数据清洗32–34Z 分数、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        字段 / 公式 / 量纲 / 局限

开始方式:解压后——

bash
cd code
python check_env.py          # 确认环境没问题、数据在位

然后就开始敲代码。从第 03 章起,自己建 demos/ 目录,把书里的代码敲进去:

code/
├── demos/ch03-types.py           ← 你自己敲出来的
├── demos/ch12-csv.py
├── exercises/ex04-03-types/      ← 你自己敲出来的
└── outputs/                      ← 脚本产出的图和报告(会自动创建)

第 01 章会详细讲环境怎么装、数据怎么验、出错了怎么修。

三条贯穿全书的纪律 ​

这三句话会在不同章节反复出现,因为它们比任何语法都重要:

纪律一:先看数据,再下判断

拿到任何一张表,先跑这四行,别急着建模:

python
df.shape          # 多大规模?
df.head()         # 长什么样?
df.info()         # 每列什么类型、有没有缺失?
df.describe()     # 数值范围合不合理?

为什么:90% 的"模型效果不好"最终都能追溯到"数据没看明白"。 一个真实的例子:某项目花了三周调模型,最后发现标签列被误当成特征(第 37 章会讲这个坑)。

纪律二:物理规则先于统计规则

发现异常值有两类方法,顺序不能反:

python
# ① 物理规则:不需要统计,直接按"值域"拦
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)、电芯不一致性、传感器漂移都没有模拟。

结论:方法可迁移,模型不可直接上线。 把本书的方法用到真实数据上时,必须重新采集、重新标定阈值。

目录 ​

暂无章节