数据清洗的10种常见方法:去重、补全、纠错、标准化

做数据处理的人都知道,数据清洗是整个链条里最耗时、最枯燥、也最决定成败的一环。一份数据从采集到真正能用,往往有六七成的时间花在清洗上——“垃圾进、垃圾出”,数据不干净,后面的统计、分析、建模、上线全是白忙。这篇文章不重复讲怎么诊断脏数据(那是《数据清洗第一步》的内容),直接上“治疗方法”:10 种最常用的清洗方法,从去重到验证,每种都讲清楚解决什么问题、怎么做,配一个真实例子,建议收藏照着做。
一、去重:把重复记录合并成一条
去重解决的是数据集中存在重复记录的问题。典型情况有两种:一种是“同名不同人”,两个人姓名相同,其实是不同的对象,不能误合并;另一种是“同人不同名”,同一个人在不同来源里的姓名、地址、电话写法不一致,看起来像两条记录。
具体怎么做?先定义唯一性规则——哪些字段组合能决定一条记录的唯一身份,比如“姓名+身份证号”或“手机号+邮箱”;再做精确匹配和模糊匹配,识别出疑似重复的记录;最后合并,保留权威字段、丢弃冗余字段、记录合并来源,方便回溯。
举个例子:客户表里“张三,138xxxx0001”出现两次,其中一次多了邮箱,合并后保留一条完整记录;“李强”和“李强(北京)”其实是同一位客户,靠手机号字段匹配识别出来。
去重不是简单删行,识别错了会误删,合并错了会串字段,操作前一定先备份。
二、缺失值补全:让数据完整可用
缺失值补全解决的是字段大量为空的问题。字段空缺会直接影响统计口径和分析结论。补全之前先分清:这个值是真的没有,还是采集时遗漏了?是不是必填字段?
具体怎么做?常见的有四种思路:
- 删除:某一行缺失严重、补全意义不大,直接删除;
- 填充默认值:比如性别未知填“未知”,适用于可枚举的字段;
- 填充均值或中位数:数值型字段用整体分布的代表值填充;
- 按关联字段推算或插值:用同一条记录里的其他字段推算,或用前后值插值,时间序列数据尤其常用。
举个例子:销售额字段缺了三天,用相邻日期的均值补上;客户年龄缺失,用身份证号反推出生日期再算出来。
补全一定要记录“补了什么、怎么补的”,否则下游会把补出的值当成真实值,误导分析。
三、纠错:把明显错误改回来
纠错解决的是数据里显而易见的错误:错别字、拼写错误、OCR 误识别。这些错误单看就能发现,不改的话,检索、匹配、统计都会被带偏。
具体怎么做?建立纠错规则库加字典匹配,三个方向:
- 常见错别字替换:比如“北京巿”改成“北京市”;
- 行业专用词库:覆盖地名、人名、机构名、专业术语的规范写法;
- OCR 形近字纠错:识别结果里常见的“未”和“末”、“日”和“曰”、“0”和“O”混用。
举个例子:档案扫描件经 OCR 处理后,“北京巿人民政府”应改成“北京市人民政府”;“张经理”被识别成“张经埋”,通过词库纠正回来。
要克制:纠错是改动原始信息,改错了比不改更糟。拿不准的记录标记出来人工复核,别让机器乱改。
四、标准化:让数据说同一种“语言”
标准化解决的是同一个含义有多种写法的问题。同一种东西写成了好几种形式,会导致统计、匹配、去重全面失真。
具体怎么做?先定标准,再逐字段转换,常见有四类:
- 日期格式统一:比如全部转成 YYYY-MM-DD;
- 金额统一:币种和单位统一,万元还是元,口径一致;
- 编码统一:行政区划码、行业码、产品编码各用一套标准;
- 命名统一:机构简称与全称映射到同一种写法。
举个例子:订单表里“2026年8月1日”“2026/08/01”“20260801”三种日期写法,统一转成“2026-08-01”后再入库。
要点是:标准没有绝对答案,先跟业务确认口径再动手,避免白干。
五、异常值处理:识别并处置离群值
异常值处理解决的是数值明显偏离正常范围的问题。它可能是录入错误,也可能是真实但罕见的极端情况,比如大促当天的销量暴增。
具体怎么做?先识别,再分类处理:
- 识别手段:统计方法(均值加减三倍标准差)、四分位距(IQR)、业务规则(年龄 0-120 岁、金额大于 0);
- 删除:确认是错误录入的记录,直接删除;
- 替换:用均值、中位数或相邻值替换;
- 标记:确属真实但极端的值,保留并打上标记,分析时单独对待。
举个例子:工资字段出现“99999999”,查证是录入失误,按正常范围修正;某日销量奇高,核实是促销活动,保留并标记。
要记住:异常值不等于错误值。先判断它是“错的”还是“真的”,再决定怎么处置。
六、格式统一:手机号、身份证、邮箱规范化
格式统一解决的是字段存在但格式五花八门的问题。这些字段是校验和关联的关键,格式不统一,入库和匹配都会失败。
具体怎么做?按字段类型定义规范格式并转换:
- 手机号:统一 11 位,去掉中间的空格和连字符,校验号段是否合法;
- 身份证:统一 18 位,末位校验码统一大写;
- 邮箱:统一小写,去除首尾空格。
举个例子:“138 0000 0001”整理成“13800000001”;“12345678901234567x”的末位“x”统一改成大写“X”。
注意:格式统一解决“写法一致”,标准化解决“含义一致”,两者常配合使用,先格式后标准化顺序更顺。
七、空格与特殊字符清理:看不见的脏数据
空格与特殊字符清理解决的是数据里藏着的不可见字符:首尾空格、全角半角混用、换行符、制表符、零宽字符。肉眼看不见,但一匹配就失败、一统计就出错。
具体怎么做?四个步骤:
- 去掉首尾空格;
- 全角数字、字母、标点统一转半角;
- 清除换行、回车、制表符等控制字符;
- 用编码扫描找出异常字符并清理。
举个例子:两张表关联时“张三”和“张三”(带尾空格)匹配不上;金额字段里混入全角空格,导致类型转换失败。
这类问题最隐蔽,清理完用长度分布和随机抽查验证,防止漏网。
八、数据类型转换:让字段类型匹配用途
数据类型转换解决的是字段类型和实际内容不匹配的问题。手机号被存成数值会导致前导零丢失;日期被存成字符串则无法做时间运算。
具体怎么做?分几种情况:
- 字符串转数字:去掉千分位和币种符号后转换;
- 字符串转日期:统一格式后转换;
- 数值转字符串:保留前导零,邮编、编号等字段尤其要注意;
- 转换后做范围校验,超出类型的记录单独处理。
举个例子:编号“0123”被存成数值变成“123”,转回字符串时要补回前导零;“2026.08.01”转成日期类型再入库。
类型转换要放在格式清理之后,顺序反了会踩坑。
九、逻辑一致性校验:检查字段间的矛盾
逻辑一致性校验解决的是字段之间打架的问题。单看每个字段都正常,但组合起来就有矛盾,比如“出生日期晚于入职日期”,比如“金额不等于单价乘数量”。
具体怎么做?三步走:
- 建立字段间的逻辑规则;
- 逐行校验,找出违反规则的记录;
- 分类处理:能明确判断哪个字段错了就修正,判断不了就标记人工复核。
举个例子:员工表“出生日期 1995 年、入职日期 1980 年”,入职早于出生,明显是某个日期录错了;订单表“金额 100、单价 50、数量 3”,金额对不上数量乘单价。
逻辑规则来自业务专家,清洗时跟业务确认以哪个字段为准,别想当然。
十、数据验证:入库前的最后一道关
数据验证解决的是清洗结果能不能放心入库的问题。入库前必须验证,防止脏数据“带病上线”,污染整个系统。
具体怎么做?写一套验证规则,批量检查四个方面:
- 完整性:必填字段是否都有值;
- 有效性:值域、格式、枚举是否符合规范;
- 唯一性:唯一键是否存在重复;
- 一致性:与标准字典、参照数据比对是否一致。
入库前跑一遍检查:客户表必填字段全部非空、手机号全部 11 位、身份证校验位全部通过,不满足的记录退回重洗。
验证就是清洗的“验收标准”,没验证就入库等于前功尽弃。
十一、怎么选方法:不同场景的优先级
方法没有万能排序,得按场景来选:
- 多来源数据要整合:先标准化,再去重,最后补全;
- 数据用于统计报表:先处理异常值,再纠错,再标准化;
- 数据用于 AI 训练或标注:格式统一、类型转换、逻辑校验一步都不能省;
- 数据要对外发布或共享:把数据验证放在最后一道,重点检查敏感字段和安全合规;
- 字段级优先级:身份证、手机号、金额等关键字段优先清洗,非关键字段可以放宽。
原则:重要的先做,简单的先做,影响大的先做。
十二、清洗流程:先诊断、再清洗、后验证
好的清洗不是拿到数据就动手,而是三步走:
1. 先诊断:搞清楚数据脏在哪、脏到什么程度,定出清洗方案(诊断方法详见《数据清洗第一步》);
2. 再清洗:按方案执行上面 10 种方法,顺序上有讲究——先做格式类(空格、格式统一、类型转换、标准化),再做内容类(去重、纠错、补全、异常值),最后做关系类(逻辑校验);
3. 后验证:用验证规则验收,形成清洗报告,记录清洗规则和每一次改动。
让清洗“可复现”是进阶要求:规则沉淀成脚本和文档,下次同样的数据进来直接复用,越洗越省力。
结语
数据清洗没有捷径,但有方法。10 种方法背后其实是同一个思路:识别问题、按规则处理、验证结果。把流程固定下来、规则沉淀下来,清洗就能从“最累的活”变成“最稳的活”,后面的统计、建模、AI 训练才有意义。
一句话总结:去重、补全、纠错、标准化、异常值处理、格式统一、空格清理、类型转换、逻辑校验、数据验证——十种方法配“先诊断、再清洗、后验证”的流程,脏数据也能一步步洗干净。
关于我们
本文由 北京海天雷鹰科技有限公司 整理发布。
公司成立于 2001 年,专注档案整理与数字化、试题结构化录入、期刊校对、数据标注等一站式数据服务 20 余年。针对标准文档形近字符识别、复杂公式排版、多层级档案规整、题库结构化加工等行业难点形成成熟作业方案,适配科研院所、教育机构、企事业单位的批量数据处理需求。
累计完成数十万份专业文档数字化、题库结构化加工项目,服务过多家科研机构、院校及企事业单位。核心团队 20 年以上行业经验,建立多层级质检审核机制,数据成果准确率稳定可控;持有 ISO 9001/27001 等体系认证、多项自主软件著作权、企业信用 AAA 等级。
如果您有档案数字化、试题录入、数据标注方面的需求,欢迎联系我们:
- 电话:010-84907553
- 邮箱:736232918@qq.com
- 官网:www.beijingocr.com
本文为原创科普内容,如需转载请注明出处。关注我们,持续分享数据服务行业的实战经验与行业洞察。
