提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
黑色星期五相当中国的双十一,是美国人民最大的购物节,基于科赛网提供的黑五购物数据,我对黑五购物的用户做了一个简单的分析
一、分析数据维度
数据维度信息来源于科赛网数据集
二、数据分析
1. 引入库
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
2. 读入数据
关掉警告,读入数据
pd.options.mode.chained_assignment=None
data_bla=pd.read_csv(r'F:\学习\数分\BlackFriday.csv')
data_bla.head()
数据预览
3. 基本信息预览
data_bla.info()
空值统计:
data_bla.isna().sum()
商品的类别2,类别3存在空值外,其余列不存在空值,所以不需要空值处理,在此猜测1为大类,2为种类,3为小类,但是由于数据说明并无明示,所以不做分析
4. 数据分析
4.1 TOP10产品销售分析
参与活动的用户人数
data_bla.User_ID.unique().shape[0]
共5891人参与购物活动
对于TOP10商品的销售数量与销售金额分析
sum_purchase=data_bla.groupby('Product_ID').sum()['Purchase']
num_product=data_bla.groupby('Product_ID').count()['Gender']
product_sale=pd.DataFrame({
'sum_purchase':sum_purchase,'num_product':num_product})
sale_10=product_sale.sort_values(by='num_product',ascending=False).head(10)
plt.rcParams['font.sans-serif']=['SimHei']#中文
plt.rcParams['axes.unicode_minus']=False#正负号
plt.style.use('seaborn-muted')
fig=plt.figure(figsize=(30,20))
ax1=fig.add_subplot(111)
ax1=sns.barplot(x=sale_10.index,y=sale_10.num_product)
ax1.set_ylabel('数量',fontsize=35)
plt.yticks(fontsize=35)
plt.xticks(fontsize=35,rotation=45)
plt.xlabel('商品名称',fontsize=35)
ax2=ax1.twinx()#建立双轴
ax2.plot(sale_10.index,sale_10.sum_purchase,label='金额',color='blue',lw=5)
for x,y in enumerate (sale_10.sum_purchase):
plt.text(x,y+0.1,'%s万' % round(0.0001*y,1),ha='center',fontsize=30,)#将折线图的数值打上
从图中可以看出,销售数量最多的产品P00265242,销售额最高的产品是P0025442
4.2 消费与性别差异
提取用户特征信息
User=data_bla.loc[:,'User_ID':'Marital_Status']
User['Purchase']=data_bla['Purchase']
User.head(5)
提取出不同性别参与人数以及消费金额
gender_purchase=User.pivot_table(values='Purchase',index=['User_ID','Gender'],aggfunc='sum')
gender_purchase=gender_purchase.reset_index()
gender_purchase=gender_purchase.drop('User_ID',axis=1)
gender_count=gender_purchase.groupby('Gender').size().reset_index(name='人数')
gender_count['占比']=gender_count['人数']