超市的促销时间是如何选择的?Python用数据来帮你分析

python

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

以下文章来源于python数据分析" title="python数据分析">python数据分析之禅 ,作者小dull鸟

项目目标

分析一下超市近期的运营数据,通过分析,对超市近期的运行状况有了直观的了解

 

1.读取数据

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

import pandas as pd

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

data

 

 

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

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

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

data_group

 

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

data_group=data_group.sort_values(by="销量",ascending=False).head(10)

data_group

 

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

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

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

data

 

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

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

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

data

 

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

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

data_group

 

用饼图画出销售额占比:

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()

 

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

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

首先从日期中提取小时数

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

data

 

对小时和订单进行去重

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

traffic

 

计算每小时的订单量

traffic_count=traffic.groupby("小时")["订单ID"].count()

traffic_count

 

画出折线图:

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()

 

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

以上是 超市的促销时间是如何选择的?Python用数据来帮你分析 的全部内容, 来源链接: utcz.com/z/530905.html

回到顶部