第 35 章 特征工程与数据预处理
本篇把 pandas 与 scikit-learn 串成一条可运行的预处理链路,覆盖缺失值策略、类别编码、数值缩放与分箱、时间特征、文本 TF-IDF、特征选择,以及最容易翻车的"训练集/测试集划分与防数据泄漏"。前置知识:第 7 章缺失值、第 8 章类型转换、第 14 章时间序列。学完后你能把一份脏数据变成模型可直接吃下的特征矩阵,并自信地说"我这套预处理没有泄漏未来信息"。
来自一线开发者的实践、思考与复盘。
本篇把 pandas 与 scikit-learn 串成一条可运行的预处理链路,覆盖缺失值策略、类别编码、数值缩放与分箱、时间特征、文本 TF-IDF、特征选择,以及最容易翻车的"训练集/测试集划分与防数据泄漏"。前置知识:第 7 章缺失值、第 8 章类型转换、第 14 章时间序列。学完后你能把一份脏数据变成模型可直接吃下的特征矩阵,并自信地说"我这套预处理没有泄漏未来信息"。
本篇讲解 pandas 连接 PostgreSQL(psycopg2 / SQLAlchemy)的工程化实战,覆盖类型映射、大结果集分块与流式读取、SQLAlchemy 连接池配置、COPY 批量导入导出,以及与 MySQL 的差异对照。前置知识:第 4 章基础读写、第 22 章数据库读写优化、[第 33 章](33-pandas与MySQL实战:读写与SQL对比.md)。学完后你能让 pandas 在生产库上既不撑爆内存、也不打满连接数,安全高效地完成"查询 → 清洗 → 回写"全链路。
本篇把 pandas 真正接到生产数据库上,覆盖 **SQLAlchemy 连接、建表 DDL、read_sql 读取、to_sql 写入、参数化查询防 SQL 注入、chunksize 大批量写入、pandas 操作与 SQL 语句对照表**,以及时区/类型映射/字符集/事务四大常见坑。前置知识:已掌握[第 22 章](22-数据读写进阶.md)的数据库读写基础、会写基础 SELECT/JOIN/GROUP BY。学完后你能独立搭一条"CSV → 清洗 → 入库 → SQL 反查 → 报表"的数据管道,并自信应对面试中"pandas 怎么连 MySQL"这类题。
本篇是 pandas 面试系列的第三篇,模拟真实面试中的"手写代码"环节,精选 10 道高频实战场景题,覆盖数据清洗(缺失/重复/异常值)、统计报表(部门/品类汇总)、复杂业务(每类 Top3、Cohort 留存、rolling 滑动统计、连续登录)以及 pandas 与 SQL 对照写法。前置知识:建议先读完[第 30 章](30-pandas面试题精讲:基础篇.md)与[第 31 章](31-pandas面试题精讲:进阶篇.md),并熟练掌握 groupby、merge、pivot_table、rolling。学完后你能在白板/面试机考中 5~10 分钟内写出一道完整题,做到"思路清晰、代码可跑、追问接得住"。
本篇是 pandas 面试题精讲的进阶篇,专攻最能拉开差距的六大考点:groupby 聚合三兄弟(agg/transform/filter)、merge 的四种 join 方式、pivot_table 与 crosstab 的区别、时间序列的重采样/rolling/shift、向量化性能优化,以及 MultiIndex 高级操作。每道题按"题目 → 考点分析 → 参考答案代码(带注释)→ 追问与延伸"组织,文末配速查表与易错点。前置知识:已读完[第 13 章分组聚合](13-分组聚合:groupby.md)、[第 11 章数据合并](11-数据合并:concat-merge-join.md)、[第 14 章时间序列](14-时间序列分析.md)、[第 17 章 MultiIndex](17-高级索引与MultiIndex深度实战.md)。学完后你能从容应对中高级 pandas 面试。
本篇把前 29 章里最容易被面试官追问的基础考点整理成一套"面试题精讲":Series/DataFrame 的创建与结构、loc/iloc/布尔索引/query 的选择、缺失值处理、数据类型与转换、map/apply/applymap 的区别,以及视图与副本、链式赋值、axis 混淆三大经典坑。每道题按"题目 → 考点分析 → 参考答案代码(带丰富中文注释)→ 追问与延伸"组织,文末配速查表与易错点总结。前置知识:读完第 1~18 章即可。学完后你能在面试中快速、准确地写出 pandas 基础题答案,并知道每个 API 的适用边界。
文本数据(评论、反馈、工单)是了解用户声音的宝库。本案例综合运用 pandas 的文本能力(结合[第 9 章](09-文本数据处理.md)),完成中文评论分析全流程:**清洗 → 分词 → 词频统计 → 情感判定 → 主题归类 → 可视化 → 洞察**。
A/B 测试(实验)是数据驱动决策的标准工具:把用户随机分到对照组和实验组,比较指标差异。本案例用 pandas + scipy 完整实现:**实验设计检查、指标对比、显著性检验(t 检验/卡方检验)、置信区间、样本量**,并规范地给出结论。
本案例用 pandas 分析**网站访问日志**:计算 **PV/UV/人均浏览、来源渠道、时段分布**,并构建经典的**转化漏斗**(浏览 → 详情 → 加购 → 下单 → 支付),找出流失最严重的环节。
本案例用 pandas 完整走一遍**金融时间序列分析**流程:**日收益率、移动平均、布林带、滚动波动率、最大回撤、简单策略回测与风险指标**。全部基于 pandas 的向量化能力,展示时间序列分析的工程化写法。