淘宝用户行为数据分析
一 、分析背景
电子商务已成为我们生活中不可或缺的一部分,随着生活水平的提高,淘宝成交量在逐年上升。本文获取了部分淘宝用户行为数据进行分析,希望能得到一些有价值的信息以便为用户提供更好的网购体验。
1. 数据集介绍
本数据集包含了2017年11月25日至2017年12月3日之间,约一百万随机用户的所有行为 (行为包括点击、购买、加购、收藏)。数据集的每一行表示一条用户行为,由用户ID、商品 ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。由于数据集有1亿条数据记录,数据量较大,本次分析只抽取200万条记录进行分析。
数据来源:
User Behavior Data from Taobao for Recommendation-数据集-阿里云天池
2. 字段含义
user_id:用户身份
item_id:商品ID
category_id:品类ID(商品所属的品类)
timestamp:用户行为发生的时间
behavior_type:用户行为类型,包含以下4种类型
pv:点击
fav:收藏
cart:加购物车
buy:购买
二、提出问题
1.用户在使用淘宝的活跃时段,了解用户的行为时间模式;
2.通过观察平台的流量情况、用户从浏览到最终购买整个过程的流失情况,构造漏斗模型,确定夹点位置;
3.通过RFM模型,分析高价值用户特征;
4.二八理论分析淘宝产品;
三、数据清洗
1、数据选取
原数据集有1亿多条数据,数据量比较大,因此此次分析只选取其中的200万条数据,将其保存到’MyUserBehavior.csv‘中,数据结构展示如下。
import pandas as pd
df=pd.read_csv(r'./MyUserBehavior.csv')
df.head()
2、缺失值处理
missing_data=df.isnull().sum()
结果显示无缺失数据,可进行下一步处理。
3、删除重复值
通过展示原数据信息可知,原数据集中共有2000000条数据
去重后数据集信息展示如下,共有2000000条数据
通过两次对比可知,数据集中不存在重复数据。
4、异常值处理
df.describe()
过观察数据集的总数,平均值,方差等,四分位数等,发现数据集中时间戳存在异常。该数据正常的时间戳范围是(1511539200,1512316800),因此删除该时间范围以外的数据。
df=df[df.timestamp<1512316800]
df=df[df.timestamp>1511539200]
5、一致化处理
新增日期类型三列,将原数据中时间戳格式的列timestamp,转换为时间日期格式。
df['date']=df['timestamp'].map(lambda x:time.strftime("%Y-%m-%d", time.localtime(x)))
df['hour']=df['timestamp'].map(lambda x:time.strftime("%H", time.localtime(x)))
查看df数据集数据类型:
df.dtypes
发现date列应该转化为日期类数据类型,hour列应该是字符串数据类型。
df['date']=pd.to_datetime(df