一、数据来源及含义
1、数据来源
阿里云天池:https://tianchi.aliyun.com/dataset/dataDetail?dataId=649&userId=1
UserBehavior.csv
原始数据有100150806条,数据量过大,不方便使用Mysql进行操作,本例先使用python对数据进行处理,选取其中的999999条数据用于本次用户行为分析。
2、字段含义
user_id:用户id
item_id:商品Id
category_id:商品类别id
behavior_type:用户行为类型
timestamp:时间戳
其中behavior_type包括:
pv(点击)
cart(加入购物车)
fav(收藏)
buy(购买)
二、数据清洗
1、添加辅助字段
① 时间戳转日期型
ALTER TABLE userbehavior_random ADD COLUMN datetime TIMESTAMP(0) NULL;
UPDATE userbehavior_random SET datetime = FROM_UNIXTIME(timestamp);
② 提取年月日
ALTER TABLE userbehavior_random ADD COLUMN dates CHAR(10) NULL;
UPDATE userbehavior_random SET dates =SUBSTR(datetime,1,10);
③ 提取时分秒
ALTER TABLE userbehavior_random ADD COLUMN hours CHAR(10) NULL;
UPDATE userbehavior_random SET hours = SUBSTR(datetime,12,8);
④ 提取小时(Tableau中绘图时使用)
ALTER TABLE userbehavior_random ADD COLUMN time CHAR(10) NULL;
UPDATE userbehavior_random SET time = SUBSTR(datetime,12,2);
进行上述处理后结果如下:
2、异常值
① 查看时间的最大最小值
SELECT MAX(timestamp),
MIN(timestamp),
MAX(datetime),
MIN(datetime)
FROM userbehavior_random;
② 删除异常值
本次分析针对2017年11月25日至2017年12月3日数据,对异常值进行删除,共删除508行。
DELETE FROM userbehavior_random
WHERE dates < '2017-11-25' OR dates > '2017-12-03';
③查看数据集
SELECT * FROM userbehavior_random
目前还剩999491条数据
3、重复值
SELECT DISTINCT * FROM userbehavior_random
显示有999491条数据,无重复值。
4、缺失值
SELECT COUNT(user_id),COUNT(item_id),COUNT</