第 3 章 切配台:筛选、排序与整形


第 3 章 · 切配台:筛选、排序与整形

本章要回答的问题:料洗净了,怎么按业务问题精准下刀——只取要的行与列?怎么让数据按想要的次序站队?文本和时间这两类"软料"怎么切成下锅的形状?本章把切配台上的四把刀逐一交到你手上。

为什么会有这一章

清洗解决了"脏"的问题,切配解决"形"的问题。报表要的往往不是全量数据,而是"华东大区、近季度、金额过千"这几刀切出来的切片;榜单要的是排序与排名;文本要拆地址、提号码;时间要按月归拢、按周对齐。这些活都在下锅之前完成——切得准,汤锅区的聚合才有干净的分组;切得歪,后面的每一步都在为歪料返工。老后厨讲"三分灶上、七分案上",案上的功夫就是本章。

切配台的风格与择菜间不同:清洗重在"判断与取舍",切配重在"精准与顺手"。本章的函数大多不改变数据本身,只改变数据的范围与形态——loc 与 iloc 决定"取哪块",sort_values 决定"什么次序",str 与 dt 两个访问器决定"软料切多细"。四把刀各管一面,组合起来才有完整的案头功夫。

读完能解决什么

  • 下刀能力:用布尔面具、loc、iloc、query 四种方式取出任意行列组合,且说得清每种方式的适用面;
  • 站位能力:按单列或多列排序,控制缺失值位置,用 rank 给出排名与百分位;
  • 细切能力:用 str 访问器完成拆分、提取、替换、判断,把非结构化文本切成结构化的列;
  • 时料能力:把文本时间转成时间类型,抽取年月日、星期、季度,用 date_range 生成对齐的时间轴。

可考核知识点清单:loc 与 iloc 一个按标签一个按位置,区间一闭一开;布尔面具组合时为什么必须用与或非符号而不是普通逻辑词;链式索引为什么会招来 SettingWithCopyWarning;sort_values 多列混合升降序的写法;nlargest 的 keep 参数在并列值时的行为;contains 的正则开关默认状态与踩法;extract 按分组捕获的返回形态;dt 访问器只认时间类型的原因;date_range 的 freq 取值;to_period 在按月归拢时的用法。

各节怎么分工

节 回答哪个问题 关键产出
3.1 数据筛选与切片 要的那块怎么取 四种下刀方式与选型
3.2 数据排序 谁先谁后怎么站 排序、冠军榜与排名
3.3 字符串操作 文本怎么切成结构 str 访问器手法集
3.4 日期时间操作 时间怎么对齐归拢 dt 访问器与时间轴

常见疑问

**问:loc 与 iloc 记不住怎么区分?**记关键词:loc 的 l 是 label(标签),iloc 的 i 是 integer(整数位置)。分不清时用一句话验证——能写列名的就是 loc。两套坐标的区间口径不同(一个双闭一个半开),3.1 的对照图值得贴在工位上。

**问:字符串与时间为什么单独立节?**因为它们是"软料":不像数值列那样规整,加工手法自成体系(str 与 dt 两个访问器),而且最容易藏脏数据。切配台的活里,大半工作量就在这两类软料上。

**问:排序这类基础操作也需要一章吗?**排序本身一步就完,但名次、并列、缺失站位、多列升降序这些"排序的周边"才是事故高发区。3.2 的价值不在 sort_values 这个名字,而在它的参数语义与善后动作。

先决条件

  • 完成第 2 章:手里有一份洗好的数据,类型正确、缺失处置过;
  • 记得 1.1 的验收动作——时间列必须先转成时间类型,dt 访问器才肯干活;
  • 不需要高深的索引理论,本章只讲用得上的那部分。

往下走到哪

切配齐整,下一站汤锅区:groupby 按组下锅、describe 一锅出统计、rolling 滚着算、np.where 条件分流。本章 3.1 的筛选是 4.4 条件计算的近亲,3.4 的月度归拢会在 4.3 的滚动窗口里天天见面。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U