详细内容或原文请订阅后点击阅览
3 个 Pandas 数据清理和准备技巧
在本文中,我们将介绍有效清理和准备数据的三个基本 Pandas 技巧:声明性方法链接、通过分类和向量化字符串访问器进行内存和速度优化,以及使用 .transform() 进行组感知插补。
来源:KDnuggets简介
数据清理和准备工作预计占据数据科学家日常工作流程的 80%。由于 Pandas 是 Python 中的标准数据操作库,因此操作效率直接决定了从原始、脏数据集到模型就绪功能的速度。想要增加清洁和准备时间是有充分理由的:它直接转化为可用于建模、分析和交流见解的更多时间。
然而,许多开发人员编写的 Pandas 代码模仿标准 Python 循环结构或使用命令式状态突变更新。这些方法存在几个问题:它们可能会触发令人困惑的SettingWithCopyWarning、冗余副本导致RAM 使用量膨胀,以及避免矢量化而降低执行速度。
要编写生产级数据管道,您需要从基本语法过渡到惯用的 Pandas 设计模式。在本文中,我们将介绍有效清理和准备数据的三个基本 Pandas 技巧:
1. 声明式方法链与.assign()、.query() 和.pipe()
准备数据时,通常会执行一系列修改:清理字符串值、创建新的数学列、过滤异常值、重命名字段等。
一种简单的方法是按顺序写入这些操作,就地改变 DataFrame 或重复将其重新分配给同一变量。这不仅使代码难以阅读和调试,而且修改切片 DataFrame 也会经常触发臭名昭著的SettingWithCopyWarning。这个警告是 Pandas 告诉你它不能保证你修改的是内存中的副本还是原始数组缓冲区。
输出:
通过将表达式包裹在 ( ... ) 中,Python 允许多行链而不使用反斜杠。
合并输出:
