• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

python 搞java代码 3年前 (2022-05-21) 14次浏览 已收录 0个评论

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

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

项目目标

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

 

1.读取数据

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

<code><span class="hljs-keyword">import pandas <span class="hljs-keyword">as pd
<span class="hljs-keyword">data=pd.read_csv(<span class="hljs-string">"超市运营数据.csv",encoding=<span class="hljs-string">"gbk",parse_dates=[<span class="hljs-string">"成交时间"])
<span class="hljs-keyword">data</span></span></span></span></span></span></span></code>

www#gaodaima.com来源gaodai$ma#com搞$代*码网搞代码

 

 

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

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

<code>data_group=<span class="hljs-keyword">data.groupby(<span class="hljs-string">"类别ID")[<span class="hljs-string">"销量"].sum().reset_index()
data_group</span></span></span></code>

 

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

<code>data_group=data_group.sort_values(<span class="hljs-keyword">by=<span class="hljs-string">"销量",<span class="hljs-keyword">ascending=False).head(<span class="hljs-number">10)
data_group</span></span></span></span></code>

 

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

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

<code><span class="hljs-keyword">data[<span class="hljs-string">"销售额"]=<span class="hljs-keyword">data[<span class="hljs-string">"销量"]*<span class="hljs-keyword">data[<span class="hljs-string">"单价"]
<span class="hljs-keyword">data</span></span></span></span></span></span></span></code>

 

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

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

<code><span class="hljs-keyword">data[<span class="hljs-string">"销售额"]=<span class="hljs-keyword">data[<span class="hljs-string">"销量"]*<span class="hljs-keyword">data[<span class="hljs-string">"单价"]
<span class="hljs-keyword">data</span></span></span></span></span></span></span></code>

 

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

<code>data_group=<span class="hljs-keyword">data.groupby(<span class="hljs-string">"门店编号")[<span class="hljs-string">"销售额"].sum().reset_index()
data_group</span></span></span></code>

 

用饼图画出销售额占比:

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

 

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

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

首先从日期中提取小时数

<code><span class="hljs-keyword">data[<span class="hljs-string">"小时"]=<span class="hljs-keyword">data[<span class="hljs-string">"成交时间"].map(lambda x:int(x.strftime(<span class="hljs-string">"%H")))
<span class="hljs-keyword">data</span></span></span></span></span></span></code>

 

对小时和订单进行去重

<code>traffic=data<span class="hljs-string">[["小时","订单ID"]].drop_duplicates()
traffic
</span></code>

 

计算每小时的订单量

<code>traffic_count=traffic.groupby(<span class="hljs-string">"小时")[<span class="hljs-string">"订单ID"].count()
traffic_count</span></span></code>

 

画出折线图:

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

 

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:超市的促销时间是如何选择的?Python用数据来帮你分析

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址