您现在的位置是:时尚 >>正文

数据清洗的基本流程

时尚74人已围观

简介数据清洗这事儿,说白了就是给数据“排雷”。上周我刚处理完一批客户订单,两万行记录里,光是重复的邮箱就占了百分之三——有人把“gmail”拼成“gmial”,有人注册时手滑多打了个点,还有人干脆用公司名 ...

数据清洗这事儿,数据说白了就是清洗给数据“排雷”。上周我刚处理完一批客户订单,本流两万行记录里,数据光是清洗重复的邮箱就占了百分之三——有人把“gmail”拼成“gmial”,有人注册时手滑多打了个点,本流还有人干脆用公司名当邮箱。数据这些脏数据要是清洗直接进分析模型,预测结果能偏到姥姥家去。本流

清洗的数据第一步,永远是清洗先摸清家底。我会先把数据导进工具里,本流看一眼字段类型、数据缺失值比例、清洗唯一值数量。本流比如那个订单表,“客户姓名”字段居然有17种空值写法——空字符串、NULL、“未知”、“N/A”,甚至还有个“不知道”。这哪是数据,分明是考古现场。摸清这些“地层”结构,才能决定下一步怎么挖。

接着处理缺失值,这里头门道挺多。数值型字段,我一般先看分布——如果偏态严重,用中位数填补比平均数靠谱得多。上个月分析用户活跃度,有三分之一的“使用时长”是空的,我一看直方图,好家伙,长尾拖得跟彗星似的,果断用中位数填。但分类字段就不一样了,比如“支付方式”缺失,我宁可单独标一个“未知”类别,也不瞎猜——你永远不知道用户到底用的啥,瞎填等于给自己埋雷。

重复数据是另一座大山。别以为完全重复才算重复,真正的坑是“看起来不一样其实一样”。同一个客户,一条记录写“北京朝阳区”,另一条写“北京市朝阳区”,还有一条干脆只写了“朝阳”。我写了个模糊匹配脚本,把地址标准化后再比对,这才揪出三百多条隐藏的重复记录。清洗完那一刻,感觉像给乱糟糟的房间做了次彻底收纳,每个数据点都有了自己的位置。

格式统一也够磨人的。日期格式五花八门:2024/1/1、2024-01-01、01-Jan-2024,还有中文的“2024年1月1日”。我见过最离谱的是“1/1/2024 上午10:30”,时间还混着中文。统一成ISO标准格式后,排序、聚合、时间序列分析才跑得动。**你要是跳过这步,后面做趋势分析时,数据会按字符串排,1月10日能排到1月2日前面去,画面太美我不敢看。

**

逻辑校验是我最喜欢的一步,因为总能发现些哭笑不得的事。比如有客户的“下单日期”比“注册日期”还早两年——穿越来的订单?还有“年龄”填了180岁的,这老寿星怕是得成精。这些明显违反业务常识的记录,要么删除,要么退回业务方核实。我一般会写几条简单的规则:金额必须大于0、日期不能晚于今天、主键不能重复。跑一遍脚本,异常值就全浮出水面了。

最后一步是留痕。清洗前备份原表,清洗后生成一份报告,记录删了多少行、改了哪些字段、用了什么规则。这不是做给领导看的——三个月后你忘了当时为啥删掉那批“异常值”,回头数据对不上账,哭都来不及。我习惯把清洗脚本存成文件,注释写到能看懂自己写的代码为止。毕竟,数据清洗是门手艺活,工具会更新,但思路和方法论是通用的。下次拿到脏数据,别急着哭,先按这个流程走一遍,你会发现,大部分问题其实都在预料之内。

Tags:

相关文章

  • linux系统漏洞如何手动修复

    时尚

    linux系统漏洞如何手动修复 上个月我帮朋友修一台CentOS 7服务器,被植入挖矿程序,CPU飙到300%。查了半天,根源是个老漏洞——内核版本停在3.10,攻击者利用脏牛变种直接提权。手动修复 ...

    【时尚】

    阅读更多
  • 网络安全技术层面的特性有哪些

    时尚

    2017年WannaCry勒索病毒爆发那天,英国国家医疗服务体系的电脑屏幕上跳出血红色弹窗,手术被迫取消。这场灾难暴露的不只是补丁管理漏洞,更是网络安全技术特性的集中体现——**对抗性**。防火墙、入 ...

    【时尚】

    阅读更多
  • 卡卷交易平台

    时尚

    卡券交易平台听起来像灰色地带的产物,实际上它早就渗透进日常生活了。我同事上周才在闲鱼上卖掉两张用不掉的京东E卡,95折出手,挂出去不到三小时就被拍下。对方是个专门收卡的二道贩子,主页里挂着几百条交易记 ...

    【时尚】

    阅读更多


友情链接