关于黑色星期五数据分析的尝试

本文通过对黑色星期五购物数据的分析,揭示了男性消费者在购物活动中的主导地位,他们在消费金额和购买数量上均超过女性。B城市消费总额最高,而居住1-3年的用户订单占比大,可能为新用户购物需求。前25%的商品贡献了80%的销售额,符合二八定律。此外,职业20、19、16、5的用户平均消费高,具有较高的投资回报潜力。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

黑色星期五相当中国的双十一,是美国人民最大的购物节,基于科赛网提供的黑五购物数据,我对黑五购物的用户做了一个简单的分析

一、分析数据维度

数据维度信息来源于科赛网数据集

二、数据分析

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['人数']
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值