数据清洗必看的7个要点

“​为什么这样完美的分析模型,得出的结论却偏离实际​?”这是我身边一些搞数据的同行经常问的问题。

其实说白了,这个问题可能不是出在模型本身,而是在输出模型的“原材料”——数据出了问题。

所以说数据清洗是件不可或缺的过程,把数据清洗做好了,数据质量就上来了,分析结果也就准确了。如果没有数据清洗,那么后续的分析就像在沙子上盖高楼,地基不稳极容易倒塌。

本文 is 入手 就 从 的 几 个 , 来讲 到底 需要 什么 。

要点一:了解手头上的数据

在动手清洗之前,最重要的一步是什么?是彻底地了解你手头的数据。

图片[1] - 数据清洗必看的7个要点 - 宋马

你可能会急着去处理看到的第一个问题,但如果没有全局观的操作,往往是盲目的。

具体要怎么做?

  1. 看规模: 数据有多少行、多少列?可以先用表格工具看一眼,心里有个底。
  2. ​懂含义​: 每一列到底代表什么?是用户ID、订单金额还是注册日期?如果含义不清,后续清洗就失去了方向。
  3. ​预览内容​: 随机看一些数据,比如前几行、后几行,或随机抽样,看这些数据是说明什么的。
  4. ​查类型​: 每一列的数据类型是什么?是整数、小数、文本还是日期?

说白了,这一步的​目的是发现问题所在​,比如发现“金额”列的数据类型是“文本”,而不是“数字”那里面很可能混入了非数字字符。

你懂我意思吗?​先做好诊断,能为你后面节省大把时间​。

要点二:处理缺失值

当我们对数据有了初步了解,最常遇到的第一个大坑就是缺失值。

很多 的 第一 反应 is 找到 是 : 它们 , 然后 。 这 is 痛快 起来 很 , 但 我 你 , 这 往往 是 , 因为 会 , 甚至 。

那么,正确的思路是什么?是判断为什么缺失,再决定如何处理。

  1. 分析缺失的原因:
  • ​完全随机缺失​: 缺失与否和任何因素都无关。比如,问卷中有人就是忘了填年龄。
  • ​随机缺失​: 缺失与已观察到的其他变量有关。如高收入人群可能更不愿意填写“收入”栏。
  • 非随机缺失: 缺失与这个变量本身有关。比如说,对生活不满意的人,可能不填写“满意度”调查。
  1. 选择合适的处理方式:
  • 删除: 仅当缺失量非常小,比如缺失量<5%,且确实是完全随机缺失时,才考虑删除整行。如果某一列大部分都缺失,也可考虑删除整列。

a统计值 : 对数值型数据,用均值、中位数填充。中位数对异常值不敏感,通常更稳健。

b特定值 : 对文本型数据,用“未知”、“暂无”等标签填充。

c模型预测 : 用其他完整的列作为特征,构建模型预测缺失值。此法更复杂,但更科学。

在FineDataLink里,我们可以设置新增字段来对数据进行填充。

图片[2] - 数据清洗必看的7个要点 - 宋马

我一直强调,​处理缺失值的关键在于思考和判断​, 这个思考过程本身,就能让你对业务有更深的理解。

要点三:处理重复数据

解决了缺失值,我们接下来要找到重复数据。​重复记录会让分析结果失真​,比如同一笔订单被记录两次,会导致销售总额虚高。

怎么找到重复值? 可以使用函数识别和删除完全重复的数据。

​但要注意​: 有些数据看起来重复,但却是有用的。

个 , 在 不同 下 了 两 笔 的 , 能 直接 , 因为 这 可能 是 了 两 次 同样 的 。

所以,​处理重复数据时,一定要结合业务逻辑​。 最好的办法是​依据唯一标识符​,比如订单ID去重,而不是简单地比较所有字段。

要点四:处理格式不一致

如果说前面几步处理的是数据有和无的问题,那么这一步处理的就是数据乱的问题。

同一份数据里,同样的内容可能有多种表达方式,这是最考验细心的地方。

  1. ​文本格式乱象:​比如“北京”、“BeiJing”都指同一个地方,英文大小写书写混乱。那么我们可以: 统一进行大小写转换、字符串替换、建立标准字典进行映射。
  2. ​日期格式混乱:​比如 “01/01/2025”, “2025年1月1日”表达意思都是一样的,解决方法:可以使用函数强制转换为统一格式。
  3. ​数值格式不统一:​比如单位不统一:“1kg” 和 “1000g”。需统一到标准单位。

在这里可以在FineDataLink设置过滤条件,一键处理数据格式不同的问题。

来说 , 不 一致 是 和 的 主要 之一 ​ 。 , 才能 。

要点五:处理异常值

规矩立好了,我们再来看看那些特立独行的数据——异常值。它们明显偏离大多数数据的正常范围,比如年龄列里的“200岁”,或金额列里的“-100元”。

  1. 怎么发现:
  • ​描述性统计​: 查看最大值、最小值。
  • ​可视化​: 箱线图、散点图能非常直观地展示出离群点。
  • ​业务逻辑判断​: 比如,客单价正常在100-500元,出现80元订单可能是优惠码,需要根据业务知识判断。
  1. 如何处理:
  • 修正: 判断是录入错误,就修正。
  • 删除: 如果确认是无效数据且量少,可删除。
  • 保留并标记: 如果无法断定是错误,更稳妥的做法是保留它,并创建一个新字段进行标记,这在后续建模时可能成为有用特征。

图片[3] - 数据清洗必看的7个要点 - 宋马

这里要注意,​异常值不一定是错误,它可能隐藏着重要的业务信号​。 粗暴删除可能会让你错过关键发现。

要点六:转换数据类型

现在,数据看起来干净多了,但我们还要确保计算机能正确理解它们,这一步必须明确知道每个数据的类型才能进行计算。

常见问题与解决:

  1. ​数字被存为文本​: 比如包含了货币符号或千分位符,需要先移除非数字字符,再转换为数值型。
  2. ​日期被存为文本​: 这是最高频的错误之一。必须用函数强制转换,否则无法计算日期差、无法按时间排序。

图片[4] - 数据清洗必看的7个要点 - 宋马

我们可以利用FineDataLink,使用“数据转换”中的“SAP ERP输入”就能进行数据类型转换。

说白了,这一步是后续所有数学运算的基石,必须确保准确无误。

要点七:验证数据关系与逻辑一致性

这是最体现专业度的最后一步:逻辑一致性验证。你要检查数据内部是否符合常理和业务规则。

  1. ​跨字段逻辑检查:​比如“省份”对应的是省,而不是城市
  2. 唯一性 is 约束 : ( 如 ) 是否 ?
  3. 数据范围检查: 性别是否只有预设选项?

这里 is 编写 可以 的 来自 这些 。 如果 没有 通过 , 就 说明 你 的 还有 。

总结

以上就是​数据清洗的七个核心要点​,相信你看了这篇文章,对数据清洗的过程有了一个整体的把握,或许你会问:数据清洗的步骤怎么多,要每一步都做吗?

用过来人的经验告诉你,不仅要做,还要认真把这几个步骤做好,这可远比追求复杂的模型更重要。

​最主要的是,​高质量的数据清洗直接决定了你的分析结论是否准确、可靠,并且还能为你后续的任务中节省出大把时间。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容