数据清洗到底怎么做?从删空值到异常处理,10种常用方法一次讲透

简介: 数据清洗不是简单删空值、去重、改格式,而是构建统一、可信的数据底座:涵盖缺失值补全、重复逻辑识别、格式/文本/类型标准化、异常与口径校验、关联一致性检查及字段重构。关键在固化业务规则,而非手工反复处理——唯有干净数据,分析才有价值。(239字)

很多人做数据分析,第一步就太着急。数据刚拿到手,就开始做透视表、算同比环比、画图表、搭看板。

看起来效率很高,但结果往往是:

  • 图做完了,数字对不上;
  • 分析写完了,业务不认可;
  • 别人追问一句“这个数从哪来的”,现场就卡壳。

问题不一定出在分析方法上。很多时候,是数据从一开始就没有处理干净。这些问题,靠删空值、去重复、改格式远远不够。

数据清洗真正要做的,是把原始数据整理成一套:格式统一、口径一致、逻辑合理、关系完整、可以直接分析的数据。

临时处理一张表,用Excel或Python就够了。

但企业数据每天都在更新,订单、库存、客户和产品主数据持续变化。如果每次分析前都重新导出、改格式、对字段,不仅效率低,规则也很难统一。更稳妥的方式,是把清洗规则放进固定的数据链路。这样,分析人员面对的就不再是一堆反复整理的原始表,而是一套持续更新、口径统一的数据底座。

image.png

一、缺失值处理:空值不一定都要删除

缺失值是最常见的数据问题。

例如:

  • 客户名称为空;
  • 销售金额为空;
  • 所属区域为空;
  • 发货日期为空;
  • 回款日期为空。

很多人看到空值就直接删掉整行,但这样很容易误删有效数据。因为不同空值代表的含义不同。

发货日期为空,可能代表订单尚未发货;回款日期为空,可能代表客户尚未付款;客户等级为空,可能只是新客户还没有评级。

常见处理方式有四种。

1、直接删除

如果缺失记录很少,无法补回,而且不影响整体分析,可以删除。但不能因为辅助字段为空,就删除整条有效订单。

image.png

2、固定值填充

分类字段可以填充为“未知”“未分类”“待确认”。这样既能保留数据,也方便后续统计缺失情况。

image.png

3、统计值填充

数值字段可以根据情况使用均值、中位数或众数填充。如果数据中存在极端值,通常中位数比均值更稳定。

4、根据业务关系补全

例如:销售额 = 销售数量 × 销售单价

客户区域为空,可以关联客户主数据;产品分类为空,可以关联产品档案。

所以,空值处理的原则是:能关联补全的先补全,能合理推算的再推算,确实无效的数据最后再删除。

image.png

二、重复值处理:重复记录不一定是重复业务

例如一张订单表中出现两条完全相同的数据,这种情况通常可以直接去重。但如果同一个订单号出现两条不同状态:

订单号 订单状态 更新时间
SO001 待发货 2026/7/1 10:00
SO001 已发货 2026/7/2 15:00

这并不是简单重复,而是订单状态发生了变化。如果只按订单号去重,可能保留旧状态,删掉最新状态。

所以,去重之前要先确定业务主键。常见主键包括:订单号;订单号+产品编码;订单号+明细行号; 客户编号; 设备编号+采集时间。

还要明确保留规则:保留更新时间最新的一条;保留审核状态为“已确认”的记录; 保留优先级更高的数据来源;流水数据进行汇总,而不是直接删除。

image.png

数据去重真正要解决的是:哪些记录属于技术性重复,哪些记录代表真实业务变化。

如果订单每天都在新增,仅靠Excel反复点“删除重复项”很难稳定。更适合的做法,是把业务主键和保留规则写进数据处理流程。比如按订单号和明细行号识别唯一记录,再根据更新时间保留最新版本。规则一旦固化,后续任务运行时就不需要重新判断。

image.png

三、格式统一:让数据可以正常计算和关联

同一个日期可能被记录成:2026-07-01;2026/07/01; 20260701; 01-07-2026,人眼都能看懂,但系统未必能正确识别。

image.png

格式不统一,可能导致:无法按月份汇总;日期排序错误;同比、环比错位;多张表无法关联; 订单周期计算错误。

常见格式问题还包括: 手机号带空格或横线;百分比有的存成0.15,有的存成15;金额字段中带“元”“万元”;英文字母大小写不一致;编码字段有的存成数字,有的存成文本。

例如客户编号“00125”如果被识别成数字,就会变成“125”,后续无法与主数据匹配。格式统一的目的,不只是让表格整齐,而是保证数据可以:正确计算、排序、关联和汇总。

这类问题特别适合在数据进入分析层之前统一解决。

image.png

四、文本标准化:解决同名不同写的问题

企业数据中,客户、产品、供应商、区域等字段通常都是文本。

同一家客户可能被写成:上海远航科技有限公司上海远航科技远航科技有限公司SH远航科技。系统会把它们识别成不同客户,导致销售额、应收账款和客户排名被拆散。

常见处理方法包括:

1、去除首尾空格

很多看起来相同的文本,只是前后多了空格或不可见字符。

2、统一大小写

例如finebi、FineBI、FINEBI,应统一成一种格式。

3、去除特殊字符

包括换行符、制表符、全角符号、特殊括号等。

4、建立标准映射表

例如:

image.png

企业数据标准化的关键,不是改几个字,而是建立统一的主数据规则。

image.png

尤其是客户、商品、组织和供应商数据,一旦涉及多个系统,靠名称直接匹配很容易出错。更好的办法,是维护一张标准映射表,把CRM、ERP、财务系统中的原始名称映射到统一编码。这样后面做客户收入、商品毛利和组织经营分析时,数据才不会被拆散。

image.png

五、数据类型转换:看起来是数字,不代表可以计算

销售金额一列看起来都是数字,但如果它们实际是文本类型,就可能出现:无法求和;无法计算平均值;排序结果错误;图表无法识别为指标。

常见类型问题包括:日期以文本形式存储;百分比中带“%”;空值被写成“-”;布尔值同时存在“是/否”“Y/N”“1/0”;时间以时间戳形式存储。

image.png

常见转换包括:文本转数值;文本转日期;时间戳转日期时间;百分比转小数;编码字段统一转文本。

例如“15%”参与计算时,需要转换为0.15。需要注意的是,客户编码、产品编码、组织编码虽然看起来是数字,但通常应该保留为文本。

数据类型一旦处理错,问题往往不会马上暴露,而是到了计算、筛选或者关联时才出现。

因此,最好在数据进入分析模型之前就完成类型检查。字段应该是数值、日期还是文本,由规则提前确定,而不是等到图表报错后再临时修改。

image.png

六、异常值处理:有数字,不代表数据合理

某产品正常单价是100元,但某条订单单价却是10000元。

它可能是:

  • 小数点录错;
  • 单位录错;
  • 数量和金额填反;
  • 含税价与未税价混用;
  • 单件价格和整箱价格混用;
  • 也可能是真实的大额业务。

image.png

常见异常值识别方法有四种。

1、固定阈值法

根据业务规则设置范围。例如:折扣率不能超过100%;交付天数不能为负数;回款金额不能无原因大于应收金额 设备利用率不能超过100%。

2、均值和标准差法

常见判断范围为:异常范围 = 均值 ± 3 × 标准差。适合分布相对稳定的数据。

3、四分位距法

IQR = Q3 - Q1:下限 = Q1 - 1.5 × IQR;上限 = Q3 + 1.5 × IQR超过范围的数据可以标记为潜在异常。

4、业务规则法

例如:订单状态为“已完成”,销售金额却为0;发货日期早于下单日期;期末库存无法满足库存平衡关系;产品毛利率突然变成-300%。

需要注意:异常值不等于错误值。

发现异常后,应先标记、核查,再决定修正、保留或剔除。企业里的异常数据通常不适合直接删除。更合理的做法,是把异常记录单独输出,保留原始值、异常原因和处理状态。

image.png

七、单位和口径统一:同一个字段可能代表不同含义

销售金额可能存在以下差异:元和万元;含税和未税;人民币和美元;订单金额和开票金额;发货金额和回款金额。

这些字段名称可能都叫“销售额”,但实际含义完全不同。库存数量也可能分别按件、箱、托盘记录。

例如:1箱 = 24件;采购100箱,换算成基础单位后就是2400件。

image.png

常见需要统一的口径包括:

  • 元、万元;
  • 千克、吨;
  • 件、箱、托;
  • 含税、未税;
  • 自然月、财务月;
  • 订单额、发货额、开票额、回款额;
  • 标准成本、实际成本、结算成本;
  • 本币金额、原币金额。

很多数字对不上,不是公式错了,而是统计口径不同。所以,清洗时要明确:单位是什么、时间口径是什么、统计范围是什么、是否含税、是否需要汇率转换。

如果这些规则只写在分析人员的个人文档里,后面很容易失效。更稳的做法,是把单位换算、税率处理、币种转换和指标口径直接放进数据链路。源系统保持原始数据,标准层按照统一规则生成分析字段,既保留原始事实,也方便后续核查。

image.png

八、逻辑一致性校验:单个字段正确,组合起来也可能错误

例如:

image.png

三个日期格式都正确,但发货日期早于下单日期,业务逻辑显然不成立。

常见逻辑校验包括:

1、时间逻辑

正常情况下:下单日期 ≤ 发货日期 ≤ 签收日期

2、金额逻辑

销售金额 = 数量 × 单价 - 折扣金额;未回款金额 = 应收金额 - 已回款金额;毛利 = 销售收入 - 销售成本

3、库存逻辑

期末库存 = 期初库存+入库-出库+盘盈-盘亏

4、状态逻辑

例如:订单已取消,但发货数量大于0; 设备已停机,但产量仍在增加; 员工已离职,但仍有后续考勤; 项目已完成,但完成率只有60%。

image.png

这些问题无法通过简单格式处理发现,必须建立字段之间的校验规则。

逻辑校验最怕靠人工抽查。数据量小时还能逐条看,数据量一大就很难持续。将时间、金额、库存和状态关系写成校验规则,任务每次运行时自动检查,比月末发现报表不对再回头排查高效得多。

image.png

九、关联关系校验:能关联,不代表关联结果正确

企业分析通常需要关联订单表、客户表、产品表、回款表和成本表。实际处理中,经常出现:

  • 客户编码在客户表中找不到;
  • 一个产品编号对应多个产品名称;
  • 新旧编码无法匹配;
  • 主数据存在一对多关系;
  • 编码前导0丢失。

例如订单表有10000条记录,关联客户表后只剩9500条。

image.png

剩下的500条可能是: 新客户尚未同步; 编码录入错误; 数据抽取时间不同步; 字段格式不一致; 主数据维护不完整。

关联后至少要检查:是否存在无法匹配的数据; 是否存在一对多匹配; 主键是否唯一; 关联前后记录数是否变化; 核心指标是否被重复放大。

多表关联不能只看有没有报错,还要看结果是否合理。这也是多系统数据处理中最容易暴露问题的地方。

image.png

十、字段拆分与数据重构:把方便录入的数据变成方便分析的数据

很多原始数据会把多个信息放在一个字段里。例如:A001-华东-标准版-红色

这个字段实际上需要拆分成:

image.png

类似情况还有: 地址拆分为省、市、区;设备编码拆分为工厂、产线、设备序号;费用科目拆分为一级、二级、三级科目; 日期拆分为年、季度、月、周; 一列多个标签拆成多行。有时也需要合并字段。

image.png

例如将订单号和明细行号组合成唯一主键。数据重构的目的,是把原始数据整理成适合计算、关联和分析的结构。这一步如果每次都在分析端临时处理,很容易产生多个版本。

同一份订单数据,销售分析拆一次,财务分析再拆一次,不同报表可能使用不同规则。把拆分、合并和字段重构统一放在数据处理层,后面的分析应用就能共用同一份标准数据。

image.png

十一、企业数据清洗,不能每次都从头做

掌握10种方法之后,还要解决一个更现实的问题:每次分析都重新清洗一遍。今天用Excel删空值,明天写SQL去重,后天又在报表中修改客户名称。不同人使用不同规则,最后就会出现:

  • 清洗过程无法复现;
  • 指标口径不一致;
  • 每个月重复核数;
  • 数据一更新就要重新处理;
  • 业务一追问就解释不清。

一套完整的数据清洗流程,至少包括以下几步。

image.png

第一步:查看数据概况

先了解数据量、字段类型、空值比例、唯一值、最大值、最小值和异常分布。

第二步:确定业务主键

明确每张表中什么字段可以唯一识别一条记录。

第三步:统一字段标准

统一字段名称、类型、格式、编码、分类和指标口径。

第四步:制定清洗规则

明确空值、重复值、异常值和无法匹配数据的处理方法。

image.png

第五步:记录清洗结果

记录删除数量、补全数量、异常数量、未匹配数量和清洗前后指标差异。

第六步:把规则固化下来

如果数据持续更新,就不能长期依赖手工处理。

企业可以根据业务流程,把ERP、CRM、财务、仓储和生产系统中的数据接入同一条链路。字段如何转换、编码如何映射、异常如何分流、任务什么时间执行,都可以提前设置。

数据更新后,流程自动运行;任务失败时,能够及时查看节点和日志;规则调整后,也不需要把所有历史步骤重新人工执行。

此时分析人员不必把大量时间花在复制、粘贴、改格式和对字段上,而是可以继续追问:

  • 为什么销售额增长了,利润却没有增长?
  • 为什么库存金额下降了,周转反而变慢?
  • 为什么某个区域收入很高,回款风险也很高?
  • 为什么客户数量增加,复购率却下降?
  • 为什么费用控制住了,毛利率仍然下滑?

这些才是数据分析真正应该解决的问题。

image.png

十三、最后总结

数据清洗不只是删除空值。一套完整的数据清洗,至少包括: 缺失值处理、重复值处理、格式统一、文本标准化、数据类型转换、异常值处理、单位与口径统一、逻辑一致性校验、关联关系校验,以及字段拆分与重构。

但比具体方法更重要的,是业务规则。 同一个空值,在不同字段中代表的含义不同;同一条重复记录,可能是无效数据,也可能是业务状态变化; 同一个异常值,可能是录入错误,也可能是真实业务; 同一个“销售额”,也可能代表订单额、发货额、开票额或回款额。

所以,数据清洗的核心不是把表格整理得更漂亮,而是建立统一的数据标准和处理流程。

对于临时数据,Excel和Python足够灵活;但面对持续更新、多系统协同和多人使用的企业数据,就需要把规则、任务和校验真正沉淀下来。

只有底层数据完整、统一、可信,后面的报表、看板、模型和AI问数才有意义。否则,图表越漂亮,错误结论可能越隐蔽。

相关文章
|
1天前
|
人工智能 安全 测试技术
|
3天前
|
云安全 人工智能 安全
阿里云 Agentic SOC 位居 IDC MarketScape安全运营智能体2026领导者类别
以 Agentic AI 重构安全运营闭环,阿里云云安全在产品能力与市场份额
1150 3
|
2天前
|
数据采集 机器学习/深度学习 人工智能
田间杂草定位与检测4200张YOLO智慧农业数据集分享
本数据集含4200张真实农田图像,YOLO格式,单类别(杂草)高质量标注,覆盖多作物、多光照、多生长阶段等复杂场景,专为智慧农业杂草检测与智能除草设备研发设计,支持YOLOv5/v8/v10等主流模型训练。
344 93
|
3天前
|
缓存 UED 开发者
Codex109天重置23次,明天还要再送一次
Codex近109天完成23次额度重置,7月14日将迎来第24次。Tibo高频响应用户反馈:优化GPT-5.6高消耗问题、补发失效福利、调整重置时间——形成“反馈→回应→修复→补偿”正向闭环,彰显以用户为中心的产品哲学。(239字)
548 11
|
7天前
|
存储 人工智能 JSON
Qwen 本地部署搭配 ComfyUI 生成 AI 漫剧完整实操指南(小白零基础可落地,零成本无限生成+角色一致性天花板)
2026全网最优本地漫剧流水线:零成本、离线运行、角色统一、低配(8G显卡)可跑。融合Qwen本地大模型+ComfyUI双引擎,实现剧本生成→分镜绘图→动态成片全自动,隐私安全、无审核限流,新手30分钟上手,日更无忧。(239字)
|
7天前
|
人工智能 缓存 JSON
刚刚 GPT-5.6 发布,吊打 Claude 5 和 Grok 4.5?一手实测来啦!
GPT-5.6 刚发布,跑分号称超越 Fable 5,真的假的?附一手实测,让 3 个最强 AI 编程模型 GPT-5.6 Sol、Claude Fable 5、Grok 4.5 在 Cursor 里同时一把梭开发网页游戏,看看最新模型到底谁更能打。
359 0

热门文章

最新文章