5个神级Python自动化脚本,专治脏数据!3分钟轻松搞定

2026-03-20

关注CAIE,国内头部AI人才认证、培训体系,助你在职场升职加薪。
CAIE注册人工智能工程师
CAIE注册人工智能工程师
公众号作者
CAIE,全称 Certifed Artifcial Intelligence Engineer(人工智能工程师),简称 CAIE(赛一) ,是人工智能领域的技能等级认证。旨在评估和培养具备人工智能理论基础与实战能力的职业人士。

干数据这行的朋友,一定深有体会,我们总说着要训练模型、挖掘洞察、搭建酷炫的可视化仪表盘,可现实却是,大部分时间都耗在了和脏数据死磕。还没开始,就被一堆乱七八糟的原始数据耗干了心情。

手动清洗?那可太要命了,不仅枯燥到让人怀疑人生,还特别容易漏掉细节、引入新错误。而且每次换一个数据集,又得从头来一遍,根本没法规模化。

别怕,今天给大家介绍个简单但超实用的神级Python自动化清洗脚本,专治各种脏数据。

1、缺失值处理器

你的数据集到处都是缺失值,有些列的完整度为90%,而有些列的数据则十分稀疏。

你需要决定如何处理每一列的缺失值:删除行、用均值填充、对时间序列采用前向填充,或是使用更复杂的插补方法。手动处理每一列既繁琐又容易出现不一致。

脚本功能

自动分析整个数据集中缺失值的分布模式,根据数据类型和缺失模式推荐合适的处理策略,并应用选定的插补方法。生成详细报告,说明缺失值的位置及处理方式。

工作原理

脚本扫描所有列,计算缺失值比例和分布模式,确定数据类型(数值型、分类型、日期时间型),并应用相应的处理策略:

数值型数据:使用均值、中位数填充

分类型数据:使用众数填充

时间序列数据:使用插值法填充

该脚本能区分并差异化处理完全随机缺失(MCAR)、随机缺失(MAR)和非随机缺失(MNAR)模式,并记录所有更改,确保结果可重现。

完整代码:https://github.com/balapriyac/data-science-tutorials/blob/main/useful-python-scripts-for-data-cleaning/missing_value_handler.py

2.、重复记录检测与解决器

数据中存在重复记录,但并非都是完全匹配的情况。有时是同一客户的姓名拼写略有不同,有时是同一笔交易被记录了两次但存在细微差异。

要找出这些模糊重复项并决定保留哪条记录,需要手动检查数千行数据。

脚本功能

通过可配置的匹配规则识别完全重复和模糊重复记录。将相似记录分组,计算相似度得分,并根据你定义的存活规则,如保留最新记录、保留最完整记录等。要么标记重复项供人工审核,要么自动合并记录。

工作原理

脚本首先使用基于哈希的比较快速查找完全重复项,然后利用编辑距离和杰罗 - 温克勒距离等模糊匹配算法,对关键字段进行比对以查找近似重复项。

将记录聚类为重复组,存活规则决定合并时保留哪些值。生成详细报告,展示所有找到的重复组及采取的处理措施。

完整代码:https://github.com/balapriyac/data-science-tutorials/blob/main/useful-python-scripts-for-data-cleaning/duplicate_detector.py

3、数据类型修正与标准化器

导入 CSV 文件后,所有数据都变成了字符串格式;日期存在五种不同的格式;

数值中包含货币符号和千位分隔符,同一列中的布尔值有多种表示方式。要获得一致的数据类型,需要为每个杂乱的列编写自定义解析逻辑。

脚本功能

自动检测每列的目标数据类型,标准化格式,并将所有数据转换为合适的类型。处理多种格式的日期、清理数值型字符串、规范化布尔值表示,并验证转换结果。提供转换报告,说明更改内容。

工作原理

脚本对每列的数值进行抽样,通过模式匹配和启发式算法推断目标数据类型,然后应用相应的解析方法:使用 dateutil 进行灵活的日期解析、使用正则表达式提取数值、使用映射字典规范化布尔值。记录转换失败的情况及问题数值,供人工审核。

完整代码:https://github.com/balapriyac/data-science-tutorials/blob/main/useful-python-scripts-for-data-cleaning/datatype_fixer.py

4、异常值检测器

数值型数据中存在会破坏分析结果的异常值。有些是数据录入错误,有些是需要保留的合理极值,还有些则难以界定。

你需要识别这些异常值、了解其影响,并决定处理方式,缩尾处理、封顶处理、删除或标记供审核。

脚本功能

使用四分位距IQR分数、孤立森林等多种统计方法检测异常值,可视化异常值的分布及影响,并应用可配置的处理策略。区分单变量异常值和多变量异常值。生成报告,展示异常值数量、具体数值及处理方式。

工作原理

脚本使用你选择的一种或多种方法计算异常值边界,标记超出阈值的数值,并应用处理措施:删除、按百分位数封顶、缩尾处理,或用边界值插补。对于多变量异常值,使用孤立森林或马氏距离进行检测。记录所有异常值的原始数值,以便审计。

完整代码:https://github.com/balapriyac/data-science-tutorials/blob/main/useful-python-scripts-for-data-cleaning/outlier_detector.py

5、文本数据清洗与标准化器

文本字段杂乱无章:姓名大小写不一致、地址使用不同缩写、产品描述包含 HTML 标签和特殊字符、自由文本字段存在大量首尾空格。标准化文本数据需要一致应用数十种正则表达式模式和字符串操作。

脚本功能

自动清洗和标准化文本数据:统一大小写、移除不需要的字符、扩展或标准化缩写、剥离 HTML 标签、规范化空格、处理 Unicode 编码问题。可配置的清洗流程允许你对不同类型的列姓名、地址、描述等应用不同规则。

工作原理

脚本提供可按列类型配置的文本转换流程,包括大小写规范化、空格清理、特殊字符移除、使用查找字典进行缩写标准化,以及 Unicode 编码规范化。记录每个转换步骤,并提供处理前后的样本供验证。

完整代码地址:https://github.com/balapriyac/data-science-tutorials/blob/main/useful-python-scripts-for-data-cleaning/text_cleaner.py

想系统掌握AI核心技能、获取行业认可资质?

CAIE注册人工智能工程师认证

助你拓宽职业赛道,成为AI领域持证实力派

微信小程序
CAIE 认证
CAIE 认证
CAIE认证
以上内容来自微信小程序

企业、高校及渠道合作

请联系微信:FYLlaoshi

图片
点击下方
阅读原文
即刻跳转至CAIE官网,了解更多AI相关信息

完 谢谢观看

确定要退出登录吗?
确定 取消
推广有奖