去除缺失值
数据缺失分为两种:一种是行记录的缺失,这种情况又称数据记录丢失;另一种是数据列值的缺失,即由于各种原因导致的数据记录中某些列的值空缺。
去除缺失值数据通常分为两种情况:一种是删除存在遗漏信息属性值的对象的列,另一种是删除存在遗漏信息属性值对象的记录,从而得到一个完备的信息表。缺失值数据在缺失值所在的列对最终分析结果无重要意义或存在缺失值的记录与初始数据集的数据量相比非常小的情况下非常有效。
案例介绍:通过Kettle工具,去除原始数据集revenue.txt中的缺失值。
现在有一份就业人员的收入数据文件revenue.txt,由于某种原因,在数据采集的过程中产生了大量的缺失值数据,内容如图所示。
打开kettle,创建转换并添加“文本文件输入”控件、“字段选择”控件、“过滤记录”控件、“Excel输出”控件、“空操作(什么也不做)”控件以及Hop跳连接线。
单击【浏览】按钮,选择要去除缺失值的文件revenue.txt;单击【增加】按钮,将要去除缺失值的文件revenue.txt添加到“文本文件输入”控件中。
单击“字段”选项卡;根据文件revenue.txt的内容添加对应的字段名称,并指定数据类型。
配置“字段选择”控件
双击“过滤记录”控件,进入“过滤记录”界面, 过滤记录的配置如下图所示。
运行转换
查看“Excel输出”控件输出的文件file.xls是否还含有缺失值数
已经没有缺失值
Name | Pay | Area | |
garcia | 5,000.00 | California | |
anderso | 6,000.00 | California | |
sharma | 4,000.00 | New Jersey | |
smith | 8,000.00 | New York | |
johnson | 9,000.00 | New York | |
garcia | 10,000.00 | New York | |
anderso | 12,000.00 | California | |
jones | 3,000.00 | New York | |
johnson | 5,500.00 | New York | |
jones | 6,000.00 | California | |