三、 数据清洗
理解数据后,接下来是数据清洗,即数据预处理的过程。
数据处理是指对收集到的数据进行加工整理,形成适合数据分析的样式,它是数据分析前比不可少的阶段。数据处理的基本目的是从大量的、杂乱无章、难以理解的数据中,抽取并推导出对解决问题有价值、有意义的数据
其中主要包括7个部分,如下图所示:
以下是我针对获取的婴儿用品销售信息数据集进行必要的数据清洗过程,其中对不需要清洗的步骤会进行原因说明。
1. 选择子集
根据要解决的业务问题,选择需要分析的列,隐藏起不需要的列。
(1)表一中需要使用5个字段,隐藏cat 1 和 property 所在列,保留了如下5个字段:
(2)表二中没有需要隐藏的字段,使用vlookup
函数通过 将表二中的儿童信息匹配到表一中:
由于提供的儿童信息数量较少,匹配完成后出现较多“#N/A”。将得到的数值进行复制,并粘贴为数值型,最后筛选出有效值:
再复制与有效值相关的所有信息,并粘贴到新工作表中,共956行数据。
2. 列名重命名
将英文列名改成自己熟悉和习惯的中文列名,重命名之后的列名:
3. 删除重复值
(1)快速查找重复值
(2)对重复值进行排序
用户名虽然有重复,但是重复的用户对应的商家并不相同,说明是同一个用户在不同的商家购买的商品,因此不需要删除。
4. 缺失值处理
交易数据工作表每列计数都为29972,儿童信息工作表每列计数都为954,无缺失值。
5. 一致化处理
保留的字段所对应的数据都有统一的标准。
6. 数据排序
没有要求提前排序的数据。
7. 异常值处理
(1)数据中最后一个字段 day(购买时间)显示为常规格式,需要转化为日期形式。
选中“购买时间”一列,在“数据”选项卡中点击“分列”,在列数据格式中选择“日期”,完成后,“购买时间”这一列已经转化为日期格式。
通过筛选检查,“购买时间”这一列已全部是日期格式,该异常值处理完成:
(2)通过将出生日期和购买日期分别分裂,得出相应的年份,进而对比得出儿童的年龄;通过筛选检查发现年龄出现异常值,分别为-2,-1,28,删除异常年龄所在行——共54行数据;
(3)性别所在列存在代号“2”(代表不知道),不具有参考性,直接删除其所在行——共22行;
(4) 删除不符合时间区间的数据, 在时间区间以外的数据共有155行,直接做删除处理
儿童信息工作表中目前是727行数据,其中有两个用户ID重复,但是购买时间不同,因此不算重复值或异常值。