数据清洗的常见方法

shmaur
2024-06-16
-
-

我常用的数据清洗的一些方法,这也是为了更快的处理数据。

 

归一化数据

主要是将数据进行标准化,弄成相同量和相对大小的数据集,写脚本解决。因为很多时候,数据集会存在不同大小或者不同结构。

 

删除重复项

为什么要做这个事情主要是因为人为错误、数据输入错误或者数据源不一致造成,可以删除所有重复的,也可以只保留首行、最后一行,也可以写一些方法确认哪些需要保留的。

 

处理异常值

识别和处理数据集中与数据很明显不同的极端值的过程。异常值会对数据分析造成很大的影响。

异常值的处理方法:

剔除:删除异常值

替换:可以使用更接近其他数据点的指定值进行替换。

归纳:比如平均值、中位数、众数、回归等等。

 

集成数据

将多个来源组合到一个统一视图里面。主要是协调数据之间的差异。这一步可以在数据直接写 sql 语法进行第一步统一。

但是多个数据源的数据可能会存在一些问题,所以很多时候需要将数据先进行转化在进一步集成。

 

简化数据

主要对数据进行简化或汇总,以减少数据的大小或复杂性,使其更易于管理、分析和可视化的过程。

常用的就是去除一部分无意义的数据。

 

处理缺失值

这里在处理数据的时候处理缺失值,主要有几个方法:

删除:直接将缺失值直接删除

归纳:用统计数据填充缺失值,比如平均值、中位数、众数、回归等等

插值:根据同类型样本评估缺失值,在填充进去

外推:根据趋势预测补充缺失值,这一步一般都是通过人为经验来补充的。

这一步在系统侧添加了第一层数据,在前期的数据异常处理功能上已经设计,通过功能可以做第一步系统数据清洗,可以避免大批量的操作。设备异常数数据分析 | shmaur,这里是处理思路。

 

转化格式和类型

这个主要是将数据格式转换成另一种格式或数据类型的过程,比如将字符串转换为数字。我主要会写一些自动化处理脚本处理数据,在进一步对数据进行校验。

 

还有一些检查点

数据单位是否一致

拼写是否一致

标签是否一致

空间参考数据是否一致

时间参考数据是否一致

精度是否一致

数据频率是否一致

数据值是否有效等等

 

案例

对异常数据集清洗

通过协调开发提供异常数据集,得到表格

数据集可能存在数据不全

在数据不全的情况下,可通过编写脚本从平台重新取数据并完善完善就会得到以下数据

完善的数据结构

这里面需要剔除没有必要的字段,保留自己需要的字段,归一化数据,将数据只保留属性名称、设备名称、异常数、描述;同时新增一个《标签》字段。

统计不同设备发生的次数,因为有些重复数据需要进行剔除,剔除条件为:当天内连续重复数据保留末行的数据,在进行排名,得到的排名就可以针对异常数进行打标签操作。

 

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

目录关闭