Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

目录

1.读取数据

2.分析哪些类别的商品比较畅销

3.分析哪些商品比较畅销

4.分析不同门店的销售额占比

5.分析超市客流高分高峰时间段


1.读取数据

数据存放在表格中,我们用pandas将其读出来

import pandas as pd
data=pd.read_csv('超市运营数据.csv',encoding='gbk',parse_dates=["成交时间"])
data

Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

2.分析哪些类别的商品比较畅销

首先将数据按照类别ID进行分组,然后对分组后的销量进行求和,最后用reset_index重置索引

data_group=data.groupby("类别ID")["销量"].sum().reset_index()
data_group

Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

为了取出销量最好的10类商品类别,我们可以对data_group按照“销量”进行排序,取出前10个

data_group=data_group.sort_values(by="销量",ascending=False).head(10)
data_group
  类别ID 销量
240 922000003 425.328
239 922000002 206.424
251 923000006 190.294
216 915030104 175.059
238 922000001 121.355
367 960000000 121.000
234 920090000 111.565
249 923000002 91.847
237 922000000 86.395
247 923000000 85.845

3.分析哪些商品比较畅销

分析逻辑与哪些类别的分析一致,代码如下:

data_group=data.groupby("商品ID")["销量"].sum().reset_index().sort_values(by="销量",ascending=False).head(10)
data_group
  商品ID 销量
8 29989059 391.549
18 29989072 102.876
469 30022232 101.000
523 30031960 99.998
57 29989157 72.453
476 30023041 64.416
505 30026255 62.375
7 29989058 56.052
510 30027007 48.757
903 30171264 45.000

4.分析不同门店的销售额占比

首先计算销售额,并添加到数据中:

data['销售额']=data['销量']*data['单价']
data

Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

按照门店进行分组,对分组后的营业额进行求和:

data_group=data.groupby('门店编号')['销售额'].sum().reset_index()
data_group

Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

用饼图画出销售额占比:

from pyecharts import options as opts
from pyecharts.charts import Pie
x=list(data_group['门店编号'])
y=list(data_group['销售额'])
pie = (
    Pie()
   .add(
        "",
        [(i,j)for i,j in zip(x,y)],
        radius=["30%", "75%"],
        center=["50%", "50%"],
        rosetype="radius",
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_global_opts(title_opts=opts.TitleOpts(title="门店销售额占比"))
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}"))
)
pie.render_notebook()

Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

5.分析超市客流高分高峰时间段

了解客流高峰时间段是很有必要的,可以帮助超市确定什么时间开展促销活动最合适

首先从日期中提取小时数

data['小时']=data['成交时间'].map(lambda x:int(x.strftime("%H")))
data

Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

对小时和订单进行去重

traffic=data[['小时','订单ID']].drop_duplicates()
traffic

Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

计算每小时的订单量

traffic_count=traffic.groupby("小时")["订单ID"].count()
traffic_count
小时
6      10
7      37
8     106
9     156
10    143
11     63
13     30
14     36
15     17
16     50
17     73
18     71
19     71
20     39
21     16
Name: 订单ID, dtype: int64

画出折线图:

import pyecharts.options as opts
from pyecharts.charts import Line
x=[str(i) for i in list(range(6,22))]
y=list(traffic_count)
line=(
    Line()
    .add_xaxis(xaxis_data=x)
    .add_yaxis(series_name="销量",y_axis=y, is_smooth=True)
    .set_global_opts(
        title_opts=opts.TitleOpts(title="不同时段销量折线图"),
        yaxis_opts=opts.AxisOpts(
                axistick_opts=opts.AxisTickOpts(is_show=True),
                splitline_opts=opts.SplitLineOpts(is_show=True),
            ),)
)
line.render_notebook()

Python做数据分析(一)分析社区超市运营数据,自动更新促销时间

从上图可以发现,8点至10点是超市一天中的销量高峰期,然后17至19点又有一个小高峰,所以这两个时间段搞促销效果会比较好!

上一篇:verilog写了个spi的写模块 2021-09-28


下一篇:爬取冰冰B站千条评论,看看大家说了什么