第1章封面

千里之行始于足下,但更始于看地图。第 1 章就是这张地图:这本书是干什么的、为什么非 Python 不可、路上会用到哪些武器。内容不烧脑,但方向感从这里来。🧭

🎒 什么样的数据会进你的行囊?

书里开门见山:数据分析处理的「结构化数据」其实就那么几种老面孔:

  • 表格型:行是记录、列是字段,Excel、CSV、SQL 表——pandas 的主场;
  • 多维数组:图像、传感器矩阵、科学计算数据——NumPy 的主场;
  • 时间序列:按时间戳排列的观测值,股价、气温、日志;
  • 多面板:带「年份」「地区」等层次维度的表格集合。

认清数据形态很重要——后面你会看到,pandas 和 NumPy 的每一招,几乎都是为这几类数据量身定做的。

🌉 为什么要用 Python?一座桥的故事

书里给的核心理由是解决「两语言问题」(Two-Language Problem)。

过去的科研/工程现场是这样的:搞统计的用 R 或 SAS,搞工程落地用 C++ 或 Java。于是数据要在两套语言间倒手——统计的人写的分析,工程的人要重写一遍才能上线。费时、易错、还吵架 😅。

Python 的解法是当「胶水」(Python as Glue):

  • 向下:NumPy/pandas 的底层是编译好的 C/Fortran,性能不输任何系统语言;
  • 向上:语法像伪代码,分析思路即写即得;
  • 向旁:Web 框架、数据库、API 客户端一应俱全,分析代码可以直接变成产品。

一句话:研究代码 = 生产代码,一次编写处处运行。当然书里也诚实列了 Python 的短板:对超高性能场景(如高频交易)纯 Python 不够快,移动端更是弱项——但对数据分析来说,那些瓶颈几乎总被 C 底层挡在你前面。

⚔️ 武器库盘点:七大库怎么分工

这一节是全章的干货,直接决定你后面读每一章时「手里拿的是什么」:

一句话定位 你在什么时候用它
NumPy 多维数组 + 向量化计算的地基 数值计算、矩阵运算、一切库的底层
pandas 带标签的表格数据容器 清洗、变形、聚合——日常主力
matplotlib 绘图鼻祖 折线/散点/直方图,其他绘图库的引擎
IPython / Jupyter 交互式驾驶舱 补全、内省、魔法命令、Notebook
SciPy 科学计算工具箱 统计分布、优化、插值、稀疏矩阵
scikit-learn 机器学习瑞士军刀 分类、回归、聚类、特征工程
statsmodels 统计建模 回归分析、时间序列模型、假设检验

记住这幅分层图:NumPy 打底,pandas 主战,matplotlib 展示,Jupyter 全程护航,建模交给最后两位。本书 90% 的篇幅就是在精讲这套组合拳。

数据分析工作流

而所有工具服务的那条流水线,就是:获取 → 清洗 → 变形 → 分析 → 可视化 → 建模。书里反复强调:真正的项目中,中间的「清洗 + 变形」要吃掉 80% 的时间——这也是为什么全书一半以上章节都在讲 pandas。

🛠️ 动手装环境:Miniconda 一步到位

书里推荐 Miniconda(Anaconda 的精简版),只装核心,需要什么加什么:

# Windows:官网下载安装包,勾选"加入 PATH"
# macOS / Linux:
bash Miniconda3-latest-MacOSX-x86_64.sh   # 或 Linux 版

# 装本书需要的包
conda install -y pandas matplotlib jupyter scikit-learn statsmodels

几点书里的实用建议:

  • 别用系统自带的 Python 折腾数据分析,依赖容易打架;
  • 想隔离项目环境可以用 conda create -n myenv python=3.10conda activate myenv
  • 编辑器选顺手的即可:PyCharm、VS Code + Jupyter 插件都是好选择;
  • 书的示例数据在它的 GitHub 仓库(pydata-book),建议 clone 一份边读边跑。

📖 这本书怎么读?(也是本站笔记的读法)

作者在 1.6 节给了一条官方路线:前 4 章是地基(Python 基础 + NumPy),第 5–8 章是 pandas 内核(必须精读),第 9–11 章是展示与进阶(绘图、分组、时间序列),第 12–13 章通向建模与实战

两条读书建议:

  1. 代码要跑:这本书是「干中学」型教材,每个例子复制进 Jupyter 跑一遍,改改参数看看会发生什么;
  2. 别怕查阅:pandas API 庞大,没有人全记得住,记住「能做什么」比记住「方法名」重要。

📌 本章小结:数据 Mostly 是表格;Python 靠 C 底层 + 一套语言解决两语言问题;NumPy 是地基、pandas 是主力、Jupyter 是驾驶舱;Miniconda 装环境,clone 示例数据,下一章直接开写代码。