1. 项目背景
通过分析销售数据来了解在线销售业务的消费情况,分析用户消费数据来分析用户的消费行为,为用户推荐相匹配的商品。
2. 数据概况
2.1. 加载数据
data = pd.read_csv("./data/某电商电子产品销售数据分析.csv")
data.head()
2.2. 数据说明
列名 | 类型 |
---|---|
下单时间 | datatime |
订单编号 | str |
产品编号 | str |
类别编号 | str |
类别 | str |
品牌 | str |
价格 | float65 |
用户编号 | str |
年龄 | int64 |
性别 | str |
省份 | str |
3. 数据清洗与整理
3.1. 数据类型转换
data['下单时间'] = pd.to_datetime(data['下单时间'])
data[['订单编号','产品编号','类别编号','用户编号']] = data[['订单编号','产品编号','类别编号','用户编号']].astype(str)
data['年龄'] = data['年龄'].astype(int)
3.2. 空值和重复值
数据集中有空值,无重复值
# 类别为空的数据,使用类别编码填充
data['类别'] = data['类别'].fillna(data['类别编号'])
# 品牌为空的数据,填充 unknoun
data['品牌'] = data['品牌'].fillna('unknown')
3.3. 删除无用列
# 第一二列是无用列
data.drop(data.columns[[0,1]], axis=1, inplace=True)
3.4. 新增列
data['month'] = data['下单时间'].dt.month
data['hour'] = data['下单时间'].dt.hour
data['weekday'] = data['下单时间'].dt.weekday
data['weekend'] = ((data['weekday'] == 5) | (data['weekday'] == 6)).astype(int)
4. 探索性分析
4.1. 销售情况
4.1.1. 月度
经分析,数据集中包含1307条 1970 年数据,其他为2022年数据(占比99.66%)
for year in data['下单时间'].dt.