用户分析-MySQL(清洗)
本文主要包含数据导入和数据清洗的过程。
1.理解数据
数据集(UserBehavior)包含了2017年11月25日至2017年12月3日之间,淘宝用户的行为(行为包括点击、购买、加购、喜欢)。
2.导入数据
在数据库上右键,导入sql文件,选择运行SQL文件
在弹出的对话框里,选择数据文件,然后点击开始。
然后进入文件导入过程,显示successfully,表示导入成功,点关闭即可。
3.数据清洗
共10万条数据
(1)查找是否有重复数据
对每个用户计数,然后再筛选出重复数据。结果显示并没有重复数据。
(2)查找是否空值
对各列计数,查找出空值。结果显示不存在空值。
(3)查找是否有超出分析时间的数据
-- 给表添加一列叫‘日期’,用于记录行为发生的日期,然后给新列‘日期’赋值
-- 给表添加一列叫‘小时’字段,用于记录行为发生的小时时间,如'21'为晚上9点,然后给新列‘小时’赋值。特别注意,此处的时间格式中“小时”部分的字符需要用大写的H,才能转为24小时制
-- 给表添加一列叫‘日期小时’,用于记录行为发生的日期时间,再给新列datetime赋值
-- 给表添加一列叫weekday,用于记录行为发生在星期几,如'1' 为星期一
mysql中,可以通过函数 WEEKDAY() 将日期转为“星期几”,但是索引是从0开始,即0表示星期一、1表示星期二...为了使该字段更符合阅读习惯,可以将其进行加1操作,结果即为1对应星期一,2对应星期二...
(4)删除超出时间范围的数据
有了上面这些日期列以后,就可以直接将超出指定时间范围的数据剔除掉。查询结果显示,剔除44条超出时间范围的数据,剩余99956条数据。
4.总结
(1)不要轻易删除数据,在删除前最好进行备份。
(2)不要轻易删除数据,在删除前最好进行备份。
(3)不要轻易删除数据,在删除前最好进行备份。