第十四篇实习日记

最后一个项目——超市电商数据分析

数据源概况:

  • 本案例将对某大型超市的零售数据进行数据分析,通过了
    解运营状况,做出合理的决策。详细字段是:
    Row ID:行编号;
    Order ID:订单ID;
    Order Date:订单日期;
    Ship Date:发货日期;
    Ship Mode:发货模式;
    Customer ID:客户ID;
    Customer Name:客户姓名;
    Segment:客户类别;
    City:客户所在城市;
    State:客户城市所在州;
    Country:客户所在国家;
    Postal Code:邮编;
    Market:商店所属区域;
    Region:商店所属州;
    Product ID:产品ID;
    Category:产品类别;
    Sub-Category:产品子类别;
    Product Name:产品名称;
    Sales:销售额;
    Quantity:销售量;
    Discount:折扣;
    Profit:利润;
    Shipping Cost:发货成本;
    Order Priority:订单优先级;

分析各个地区分店的销售额

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
##二、利润分析——分析各年份对应月的利润情况

#整体销售情况子数据集,选取下单日期、销售额、销量、利润、年份、月份信息等列
sales_data = df[['Order_Date','Sales','Quantity','Profit','year','month']]
#按照年份、月份对销售子数据集进行分组求和
sales_year = sales_data.groupby(['year','month']).sum()

#选取该年的所有月的所有行和列
year_2011 = sales_year.loc[(2011,slice(None)),:].reset_index()
year_2012 = sales_year.loc[(2012,slice(None)),:].reset_index()
year_2013 = sales_year.loc[(2013,slice(None)),:].reset_index()
year_2014 = sales_year.loc[(2014,slice(None)),:].reset_index()

#销售额分析(4年按列合并到一个数据框中)
sales=pd.concat([year_2011['Sales'],year_2012['Sales'],
             year_2013['Sales'],year_2014['Sales']],axis=1)

# 对行名和列名进行重命名
sales.columns=['Sales-2011','Sales-2012','Sales-2013','Sales-2014']
sales.index=['Jau','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']

# 颜色越深,销售额越高(pandas的样式功能)
sales.style.background_gradient()

客单价分析

#三、客单价分析
#创建一个空字典来存储每年的客单价
 year_unit_price = {}
 #循环遍历年份
for i in range(2011, 2015):
data = df[df['year'] == i]
price = data[['Order_Date', 'Customer_ID', 'Sales']]
#删除重复数据((避免同一顾客同一天多次购买被重复计数,去除Order_Date和Customer_ID相同的行。)
price_dr = price.drop_duplicates(subset=['Order_Date', 'Customer_ID'])
#计算成交顾客数(总消费次数)
total_num = price_dr.shape[0]  

#客单价=销售额÷成交顾客数
unit_price = price['Sales'].sum() / total_num
year_unit_price[i] = unit_price
print('{}年总消费次数='.format(i), total_num)
print('{}年客单价='.format(i), unit_price, '\n')

#展示每年的客单价数据
# 使用matplotlib绘制柱状图展示每年的客单价
plt.figure(figsize=(10, 6))
plt.bar(year_unit_price.keys(), year_unit_price.values(), color='skyblue')
plt.xlabel('Year')
plt.ylabel('客单价')
plt.title('每年客单价分布')
plt.xticks(range(2011, 2015))
plt.show()

销量分析与销售淡旺季分析

在这里插入图片描述
在这里插入图片描述

 quantity = pd.concat([year_2011['Quantity'],year_2012['Quantity'],
                  year_2013['Quantity'],year_2014['Quantity']],axis=1)
# 对行名和列名进行重命名
 quantity.columns=['Quantity-2011','Quantity-2012','Quantity-2013','Quantity-2014']
 quantity.index=['Jau','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']
 # 颜色越深,销量越高
 quantity.style.background_gradient()
 #销量分析与销售淡旺季分析
# 绘制折线图
plt.figure(figsize=(10, 6))  # 可以设置图形的大小
for column in quantity.columns:
quantity[column].plot(label=column)  # 绘制每一列的折线图,并设置图例标签

# 添加图例
plt.legend()

# 显示图表
plt.show()
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值