数据分析实战——日化用品在门店的销售分析

本文通过分析2019年日化用品销售数据,揭示门店销量与利润、商品类别销售、价格区间商品表现、销售淡旺季等关键指标。发现口腔护理用品销量最高但利润较低,美发护发用品利润最高。销售淡季在2-4月,旺季在10-12月。数据分析采用Python处理,永洪Bi用于可视化,建议低、高价位商品捆绑销售以提升销量。
摘要由CSDN通过智能技术生成

这是一个竞赛的题目,包括但不限于以下分析维度:

  1. 各门店商品销量与利润,时间趋势
  2. 各类别商品销量与利润
  3. 各价格区间内的畅销商品与滞销商品
  4. 销售淡季和销售旺季的商品销量分布

根据以上分析目的,主要进行利润、时间、销量指标的数据处理,基础数据包括三张表,分别是2019年销售信息、门店信息、商品信息表:

import pandas as pd
import numpy as np
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity='all'
pd.options.display.max_columns = None

由于三张表的字段有重复且都是中文,所以用英文名称来代表中文字段名称,方便代码的书写。

input_file1 = 'sales2019.csv'
input_file2 = '门店信息.xlsx'
input_file3 = '商品信息.xlsx'
store_id = '门店编号'
store_name = '门店名称'
cost = '采购单价'
sales_price = '销售单价'
sales_count = '销售数量'
sales_fees = '销售金额'
deal_date = '交易日期'
product_id = '商品编号'
type_large = "大分类名称"
type_small = "小分类名称"
profit = '利润'
store_name = '门店简称'
store_namecom = '门店名称'
year = '交易日期_年份'
month = '交易日期_月份'

导入数据的时候注意编码问题,这里的用到了gb2312,

data_sales = pd.read_csv(input_file1, encoding = 'gb2312') 
data_store = pd.read_excel(input_file2)
data_product = pd.read_excel(input_file3)

查看空值比例

#查看空值百分比
data_sales.isnull().sum()/data_sales.shape[0]  #由于采购单价和销售单价存在少量空值,则删除不会影响其他
data_store.isnull().sum()/data_store.shape[0]
data_product.isnull().sum()/data_product.shape[0]
交易日期       0.000000
门店编号       0.000000
收银台编号      0.000000
商品编号       0.000000
交易日期_年份    0.000000
交易日期_月份    0.000000
商品处编号      0.000000
商品部门编号     0.000000
销售数量       0.000000
销售金额       0.000000
采购单价       0.016224
销售单价       0.018680
dtype: float64
门店编码    0.0
门店名称    0.0
门店简称    0.0
小区编码    0.0
小区名称    0.0
城市名称    0.0
dtype: float64
大分类编号    0.0
大分类名称    0.0
分类编号     0.0
分类名称     0.0
小分类编号    0.0
小分类名称    0.0
商品编号     0.0
商品名称     0.0
dtype: float64

空值极少,只有销售单价和采购单价有为空的数据,而且这两个指标再做利润的时候还会用到,所以要进行填充。
首先,要观察这俩字段空值的规律。

data_sales_cost_pricenull = data_sales[pd.isna(data_sales[cost]) | pd.isna(data_sales[sales_price])]
data_sales_cost_pricenull.info()
data_sales_cost_pricenull.head()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 19331 entries, 20 to 1034807
Data columns (total 12 columns):
交易日期       19331 non-null object
门店编号       19331 non-null int64
收银台编号      19331 non-null int64
商品编号       19331 non-null object
交易日期_年份    19331 non-null int64
交易日期_月份    19331 non-null int64
商品处编号      19331 non
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值