第01章 接诊建档:数据结构与读写 章节摘要:本章跟着一位"病人"——一份凌乱的销售明细表——走进体检中心的前台。接诊建档要做三件事:认清档案袋长什么样(Series与DataFrame)、给每条记录挂上号(Index)、把纸质档案录入系统并打印体检报告(读写)。建档是后续一切检查的地基,索引没挂对,后面每个科室都要返工。 一条主线 我们的主线病人叫"月度销售明细":六行三列的小表,却集中了脏数据的典型症状——金额列混着字符串、日期格式不统一、有一行完全重复。本章先不治病,只负责把它的三份基础档案建清楚:一维的Series像化验单上的单指标,二维的DataFrame像整本病历,Index像挂号条上的编号。三份档案建好了,第二到第四章的各科室才能按"编号"精准叫号。
章节摘要:本章跟着一位"病人"——一份凌乱的销售明细表——走进体检中心的前台。接诊建档要做三件事:认清档案袋长什么样(Series与DataFrame)、给每条记录挂上号(Index)、把纸质档案录入系统并打印体检报告(读写)。建档是后续一切检查的地基,索引没挂对,后面每个科室都要返工。
我们的主线病人叫"月度销售明细":六行三列的小表,却集中了脏数据的典型症状——金额列混着字符串、日期格式不统一、有一行完全重复。本章先不治病,只负责把它的三份基础档案建清楚:一维的Series像化验单上的单指标,二维的DataFrame像整本病历,Index像挂号条上的编号。三份档案建好了,第二到第四章的各科室才能按"编号"精准叫号。
从一条化验指标出发认识Series,再把多条指标订成册理解DataFrame的列式结构。这是全书的地基,后面每一节都在DataFrame上进药。
Index是Pandas里最容易被轻视、又最容易引发隐式bug的部件。这一节把索引当作挂号条来讲:它决定对齐、决定查找、也决定.loc时的叫号规则。
现实中数据不会恰好是CSV。Excel多表、数据库、编码错乱、分隔符怪异,这一节把登记窗口的常见状况逐一过一遍。
检查做完要出报告:写CSV还是写Excel、索引要不要带、中文乱码怎么防,都是归档环节的实际问题。
本章的认知拐点在1-2:很多初学者把Index当成"可有可无的行号",直到发现两个DataFrame相加时是按索引而非位置对齐,才意识到挂号条才是Pandas对齐机制的身份证。读完本章,你应当能够:
本章只需要Python基础语法。延伸方向:列式存储格式(parquet)的读写会在1-4顺带提到;Index的进阶话题(分类索引、区间索引)在时间序列章回归。建议每节配套的微缩数据亲手敲一遍再跑,本章的代码量是全册最少的,但每个概念都被后面七章反复引用,投入产出比最高。
档案建好、挂号条挂上之后,护士台要做的是分诊:三千条记录里哪些要进哪个科室。第02章的分诊筛查(loc、iloc、布尔索引)就是干这个的,它完全建立在1-2建立的"标签与位置两套坐标"之上。
读完本章,以下知识点应当能够独立复述与操作:构造并解构Series与DataFrame的三要素;用dtypes识别object血型背后的类型传染;解释loc与iloc的端点规则差异;说明索引对齐时NaN的产生机制;用set_index与reset_index完成升降格;读取时处理编码、分隔符、跳行三类故障;用dtype与parse_dates预定血型;写文件时决策index去留与编码口径。任何一条答不上来,回到对应小节把代码再跑一遍——建档阶段的含糊会被后面每个科室放大。