目 录CONTENT

文章目录

5个用于自动化数据质量检查的实用Python脚本

Administrator
2026-02-27 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

📢 转载信息

原文链接:https://www.kdnuggets.com/5-useful-python-scripts-for-automated-data-quality-checks

原文作者:Bala Priya C


5 Useful Python Scripts for Automated Data Quality Checks
Image by Author

 

# 引言

数据质量问题无处不在。本应完整的数据中却存在缺失值。日期格式错误。偶然出现的重复记录。影响分析结果的异常值。大小写不一致或拼写变体的文本字段。这些问题可能会破坏您的分析、数据管道,并常常导致错误的商业决策。


手动数据验证既乏味又耗时。您需要在多个数据集中重复检查相同的问题,而且很容易遗漏细微的错误。本文将介绍五个实用的Python脚本,用于处理最常见的数据质量问题。


点击此处查看GitHub上的代码

 

# 1. 分析缺失数据

 

// 痛点

您收到一份期望记录完整的数据集,但在其中散布着空单元格、空值(null)、空白字符串以及“N/A”或“Unknown”等占位文本。有些列大部分是空的,而另一些只有少数缺失。在修复问题之前,您需要了解问题的严重程度。

 

// 脚本功能

全面扫描数据集,查找所有形式的缺失数据。识别缺失的模式(随机还是系统性),计算每列的完整性得分,并标记缺失数据过多的列。它还会生成可视化报告,显示数据空白的位置。

 

// 工作原理

该脚本从CSV、Excel或JSON文件中读取数据,检测None、NaN、空字符串等各种缺失值的表示形式,以及常见的占位符。然后,它按列和行计算缺失数据的百分比,识别跨列缺失值之间的相关性。最后,它生成摘要统计数据和详细报告,并就如何处理每种类型的缺失值提出建议。

获取缺失数据分析器脚本

 

# 2. 验证数据类型

 

// 痛点

您的数据集声称包含数字ID,但其中一些却是文本。日期字段中混杂着日期、时间,有时甚至是随机字符串。电子邮件列中不仅有电子邮件,还包含无效的电子邮件地址。这种类型的不一致会导致脚本崩溃或产生不正确的计算。

 

// 脚本功能

验证每列是否包含预期的数据类型。检查数字列中的非数字值、日期列中的无效日期、电子邮件和URL列的格式是否正确,以及分类列中是否存在意外值。该脚本还提供有关类型违规的详细报告,包括行号和示例。

 

// 工作原理

该脚本接受一个指定每列预期类型的模式定义,使用正则表达式和验证库检查格式合规性,识别并报告违反类型预期的行,计算每列的违规率,并建议适当的数据类型转换或清理步骤。

获取数据类型验证器脚本

 

# 3. 检测重复记录

 

// 痛点

您的数据库应该只有唯一记录,但重复条目却不断出现。有时是完全相同的重复项,有时只有少数几个字段匹配。可能是同一个客户,但名字的拼写略有不同,或者交易被意外提交了两次。手动查找这些重复项非常具有挑战性。

 

// 脚本功能

使用多种检测策略识别重复和近乎重复的记录。查找精确匹配项、基于相似性阈值的模糊匹配项,以及在特定列组合中的重复项。它将相似记录分组并计算潜在匹配项的置信度得分。

 

// 工作原理

该脚本使用基于哈希的精确匹配来查找完全重复的记录,使用基于Levenshtein距离的模糊字符串匹配算法来处理近乎重复的记录,允许指定关键列进行部分匹配,生成带有相似度得分的重复集群,并导出详细报告,显示所有潜在重复项以及去重建议。

获取重复记录检测器脚本

 

# 4. 检测异常值

 

// 痛点

您的分析结果看起来不对。深入研究后发现有人将年龄输入为999,交易金额为负数(本应为正数),或者某个测量值比其余值大出三个数量级。异常值会扭曲统计数据,破坏模型,并且通常很难在大数据集中识别出来。

 

// 脚本功能

使用多种方法自动检测统计异常值。应用Z分数分析、IQR(四分位距)方法和特定于领域的规则。识别极端值、不可能值以及超出预期范围的值。为每个异常值提供上下文,并建议它可能是错误还是合理的极端值。

 

// 工作原理

该脚本使用可配置的统计阈值分析数字列,应用特定于领域的验证规则,可视化高亮显示异常值的分布情况,计算异常值得分和置信度水平,并生成优先报告,首先标记最可能出现的数据错误。

获取异常值检测脚本

 

# 5. 检查跨字段一致性

 

// 痛点

单个字段看起来没问题,但字段之间的关系却被破坏了。开始日期晚于结束日期。收货地址的国家/地区代码与账单地址的国家/地区不同。没有相应父记录的子记录。订单总额与明细项目总和不匹配。这些逻辑不一致同样具有破坏性,但更难发现。

 

// 脚本功能

根据业务规则验证字段之间的逻辑关系。检查时间一致性、引用完整性、数学关系和自定义业务逻辑。标记违规项,并提供不一致的具体详细信息。

 

// 工作原理

该脚本接受一个规则定义文件,用于指定要验证的关系,评估条件逻辑和跨字段比较,执行查找以验证引用完整性,计算派生值并与存储的值进行比较,并生成详细的违规报告,其中包含行引用和具体的规则失败情况。

获取跨字段一致性检查器脚本

 

# 总结

 
这五个脚本可以帮助您及早发现数据质量问题,防止它们破坏您的分析或系统。数据验证应该是自动的全面的快速的,而这些脚本正是为此目的而设计的。

那么如何开始呢?下载解决您最大的数据质量痛点的脚本并安装所需的依赖项。接下来,为您的特定数据配置验证规则,并在样本数据集上运行它以验证设置。然后,将其集成到您的数据管道中,以自动捕获问题。

干净的数据是其他一切的基础。开始系统化地验证,您将花更少的时间来修复问题。祝您验证顺利!
 
 

Bala Priya C 是来自印度的开发人员和技术作家。她喜欢在数学、编程、数据科学和内容创作的交叉点工作。她的兴趣和专业领域包括DevOps、数据科学和自然语言处理。她喜欢阅读、写作、编码和咖啡!目前,她正在通过撰写教程、操作指南、观点文章等方式学习并与开发人员社区分享她的知识。Bala还创建引人入胜的资源概述和编码教程。




🚀 想要体验更好更全面的AI调用?

欢迎使用青云聚合API,约为官网价格的十分之一,支持300+全球最新模型,以及全球各种生图生视频模型,无需翻墙高速稳定,文档丰富,小白也可以简单操作。

0

评论区