数据清洗方法

来源:我是码农,转载请保留出处和链接!

本文链接:http://www.54manong.com/?id=1220

1.数据错误

脏数据或错误数据

比如, 温度 = -2003,数据不正确

‘0’ 代表真实的0还是代表缺失,数据不一致

2.删除重复值

删除重复数据或对重复数据进行标记

3.离散值检测

单变量离群值处理:

1)绘图:在图中找出离群的异常值,根据情况对其进行删除或者对数据进行变换从而在数值上使其不离群或者不明显。

2)学生化(标准化):用变量除以他们的标准差就可得到学生化数值

多变量离群值

1)绘图:在图中找出明显的离群值

2)聚类法确定离群值(不要对原有数据进行改变):聚类效果评判指标:(群内方差(距离)最小化,群间方差(距离)最大化;这里方差可以理解为一种距离(欧式距离的平方—欧式距离))

4.加权采样

以加权方式生成采样数据。权重列必须为double或int类型,按照该列的value大小采样。例如col的值是1.2和1.0,则value=1.2所属样本的被采样的概率就大一些。

5.随机采样

以随机方式生成采样数据,每次采样是各自独立的。

6.过滤与映射

对数据按照过滤表达式进行筛选,可以重命名字段名。

7.分层采样

数据集分层抽取一定比例或者一定数据的随机样本。

8.Join

两张表通过关联信息,合成一张表,并决定输出的字段,与SQL的join语句功能类似。

9.合并列

将两张表的数据按列合并,需要表的行数保持一致。

10.UNION

将两张表的数据按行合并,左表及右表选择输出的字段个数以及类型应保持一致。整合了union和union all的功能。

11.增加序号列

在数据表第一列追加ID列,并将append id后的内容存为新表,增加的ID列为BigInt类型。

12.拆分

对输入表或分区按比例拆分,分别写入两张输出表。

13.缺失值填充

缺失值填充用来将空值或者一个指定的值替换为最大值,最小值,均值或者一个自定义的值。通过给定一个缺失值的配置列表,来实现将输入表的缺失值用指定的值来填充。

可以将数值型的空值替换为最大值,最小值,均值或者一个自定义的值。

可以将字符型的空值,空字符串,空值和空字符串,指定值替换为一个自定义的值。

待填充的缺失值可以选择空值或空字符,也可以自定义。若缺失值选择空字符,则填充的目标列应是string类型。

14.归一化

对一个表的某一列或多列,进行归一化处理,产生的数据存入新表中。目前支持线性函数转换,表达式为“y=(x-MinValue)/(MaxValue-MinValue)”,“MaxValue”、“MinValue”分别为样本的最大值和最小值。

15.标准化

对一个表的某一列或多列,进行标准化处理,产生的数据存入新表中。标准化所使用的公式为(X - Mean)/(standard deviation)。

Mean:样本平均值。

standard deviation:样本标准偏差

16.类型转换

将表的字段类型转成另一个类型。

17.KV2Table

给定kv(key:value)格式,转成普通表格式。key转换成表的某列名,value转成该列所在行的对应值。

18.Table2KV

将普通表转成kv格式的表。原表中的空值不会被表示出来。用户可以指定在生成表中保留某些列,这些列会原样输出。

你可能感兴趣的:(数据清洗)