代码+数据:https://download.csdn.net/download/qq_38735017/87379914

1.1 数据预处理


1.1.1 异常值检测

①将支付时间转为标准时间的过程中发生错误,经排查错误数据为‘2017/2/29’,后将其修改为‘2017/2/27’。

②经检测发现部分订单应付金额与实付金额都为0,抹去这部分异常数据。

③在检测过程中发现部分订单中商品金额异常,但由于不确定是否进行了调价或促销,所以并未清除这部分异常订单。

1.1.2 属性修改

①提取售卖机设备id后五位,方便后续处理。

②并不清楚后续任务是否需要表中部分属性信息。所以并未删除表中属性。

图1-1-1异常值监测和属性修改后部分数据

1.1.3 合并信息

以商品名称作为关键词,将附件二中商品信息添加到附件一中。添加后如下图所示。

图1-1-2合并附件1,2后的数据

1.1.4 按售货机提取数据

因不知道每个地点是否只有一台售货机,所以通过循环获得存有售货机设备ID的列表,并根据设备id进行分组,将每台售货机的销售数据保存至csv文件中,文件名分别为‘task1-1A.csv’ ‘task1-1B.csv’ ‘task1-1C.csv’ ‘task1-1D.csv’ ‘task1-1E.csv’

1.2 任务1.2


提取各售货机五月份销售数据,计算各售货机的订单量和交易额最后汇总获得总订单量和交易额。获得结果如下表。

表1-2-1各售货机五月销售情况及汇总

售货机;数据类

1A

1B

1C

1D

1E

ALL

交易额

2392.1

5699

3729

3681

3385.1

18886.2

订单量

553

1287

782

860

750

4232

由上表可得,B售货机销售情况最好,A售货机销售情况最差,C,D,E售货机的销售情况相似。

1.3 任务1.3


任务要求计算每台售货机的每个月的每单平均交易额和每个月的日均交易量。

每个月的每单平均交易额:先通过月份进行分组,对每组内交易额进行加和,最后获取魅族交易单数,相除即可。

每个月的日均交易量:先通过月份进行分组,判定若是1,3,5,7,8,10,12则除31,除二月外其他则除20,2月则除28。即可得到每个月的日均交易量。

表1-3-1 A售货机每月的每单平均交易额与日均订单量

1A

1月

2月

3月

4月

5月

6月

7月

8月

9月

10月

11月

12月

每单平均交易额

3.74

3.09

4.31

3.82

4.33

4.06

4.26

3.32

3.91

3.9

3.86

3.58

日均订单量

8.26

5.04

6.19

14.19

17.84

33.26

10.16

23.03

31.65

38.1

39.03

53.48

表1-3-2 B售货机每月的每单平均交易额与日均订单量

1B

1月

2月

3月

4月

5月

6月

7月

8月

9月

10月

11月

12月

每单平均交易额

4.68

3.64

3.59

4.16

4.43

3.84

3.93

3.8

4.14

3.68

4.29

4.17

日均订单量

11.42

9.21

11.29

28.87

41.52

83.16

26.16

57

132.9

89.48

161.65

104.9

表1-3-3 C售货机每月的每单平均交易额与日均订单量

1C

1月

2月

3月

4月

5月

6月

7月

8月

9月

10月

11月

12月

每单平均交易额

4.36

3.83

3.77

4.42

4.77

4.52

4

3.91

4.44

4.29

4.36

3.95

日均订单量

12.13

7.43

8.48

23.61

25.23

60.48

24.55

40.61

53.97

71.19

62.61

76.55

表1-3-4 D售货机每月的每单平均交易额与日均订单量

1D

1月

2月

3月

4月

5月

6月

7月

8月

9月

10月

11月

12月

每单平均交易额

3.75

3.26

3.61

4.1

4.28

4.08

4.41

3.58

4.14

4.12

4.28

3.67

日均订单量

11.81

6.61

8.55

19.35

27.74

59.65

11.1

31.65

56.13

65.19

65.39

71.19

表1-3-5 E售货机每月的每单平均交易额与日均订单量

1E

1月

2月

3月

4月

5月

6月

7月

8月

9月

10月

11月

12月

每单平均交易额

4.52

3.86

3.59

4.06

4.51

4.07

4.11

3.36

4.31

4.03

4.48

3.8

日均订单量

10.77

4.07

8.23

14.32

24.19

53.58

15.32

21.45

33.52

50.35

37.39

64.42

二、数据分析与可视化


2.1 任务2.1


绘制2017年6月销量前五的商品销量柱状图:先将时间转换为标准格式,再讲时间列换位到索引上,用户输入要绘制那一月的销量柱状图,通过循环遍历得到次月商品名单,创建等长零列表,两列表压缩成字典,依次更新字典中商品销量,根据销量对字典进行排序,获取用户画前几的柱状图,绘图。

图2-1-1六月份销量前五的商品及其销量

2.2 任务2.2


2.2.1 绘制每台售货机每月总交易额折线图

读取数据后先将支付时间转换为标准时间并换位到索引,新建用于存储总交易额的空列表,通过resample和sum获得每月的交易额并存除到列表中。新建月份列表用作x轴。设定画图参数,画图。

图2-2-1每台售货机每月总交易额折线图

由上折线图可得,所有售卖机销售额在整体上都呈上升趋势,且在6月出现小高峰,总体上B售卖机销售额高于其他售货机。

2.2.2 总交易额月环比增长率

读取数据后先将支付时间转换为标准时间并换位到索引,新建用于存储总交易额的空列表,通过resample和sum获得每月的交易额并存除到列表中。

通过循环计算所有月环比增长率,并存除到列表中

设定画图参数,画图。

如下列2-2-2.1,2-2-2.2,2-2-2.3,2-2-2.4,2-2-2.5五张图所示:

图2-2-2.1第一台售货机每月环比增长图

图2-2-2.2第二台售货机每月环比增长图

图2-2-2.3第三台售货机每月环比增长图

图2-2-2.4第四台售货机每月环比增长图

图2-2-2.5第五台售货机每月环比增长图

从上方五张月环比增长图来看,每个售货机在2,3,8月都出现了负增长的情况,在第二台售货机的11月也出现了负增长的情况。在A售货机中,增长的月环比整体呈一个下降趋势,在B售货机中,增长的月环比整体呈先升后降趋势,在C售货机中,增长的月环比整体呈一个下降趋势,在D售货机中,增长的月环比整体呈起伏趋势,在E售货机中,增长的月环比整体呈一个平稳趋势。

2.3 任务2.3


各售货机毛利润站总毛利润比例饼图:现在附加二中读取分类标准,将饮料类存放在饮料类列表中,非饮料类存放在非饮料类列表中,通过循环和判断的结合,如果商品在饮料类中则应付金额0.25,如果商品在非饮料类中则应付金额0.2。将五个售货机的毛利润放在列表中设置参数进行画图。

如下图所示:

如图所示售卖机B毛利润所占比例最大,占比为33.55%,A,E售卖机毛利润所占比例最少,A为最低只占11.57%,整体呈BCDEA依次下降趋势。

2.4 任务2.4


每月交易额均值气泡图:读取数据,将时间调整至标准格式,换位给索引,通过groupby和sum获得每个月二级类销量,十二个月合并到一起,对空缺值进行处理(设置为0),处理列名,组成索引为商品名称,属性为12个月份,值为销售额的表。

设置参数,绘图:

由气泡图可得,茶饮料,功能饮料,乳制品从高到低依次占据了交易额均值前三的位置。同时也发现所有商品以半年为一个周期,交易额均值每个月依次增加。

2.5 任务2.5


绘制售货机C6,7,8三个月订单的热力图:读取数据,支付时间调整至标准格式并设为索引

通过分组获取确定日期销量,并放入矩阵对应位置中,将矩阵转换为dataframe格式,更新索引和属性。设置画图参数并画图。

图2-5-1 C售货机6月份订单量热力图

图2-5-2 C售货机7月份订单量热力图

图2-5-3 C售货机8月份订单量热力图

从上图可得,在六月份时销售基本集中在上旬和下旬,中旬占小部分,交易时间集中于下午,16点左右。

在七月份时销售基本集中在下旬和上旬,中旬占小部分,交易时间集中于下午,16点左右。

在八月份时销售基本集中在中旬,中旬占小部分,交易时间集中于下午,16点左右。

由此可得,在六七八月时,人们通常在八点以后才进行购物活动,可以赶在八点之前进行补货,保证销售供应。同时在下午16点左右会迎来销售高峰,所以赶在16点之前进行检查,对缺货商品进行补货。

三、自动售货机画像


3.1 贴标签


设定评价指标=销量* 0.6+毛利润*0.4

给所有商品贴标签:读取数据,通过商品名进行分类,并得出统计数量作为销量,得到销量。听过饮料与非饮料类,通过商品计算获得毛利润,将销量和毛利润通过商品合并入总表中。计算获得评价指标。将评价指标由高到低降序排列,取排名前5%作为热销类商品,5%-70%作为正常销售类商品,剩余为滞销类商品,将类别存入销售情况列中。

3.2 画像


通过扩展后的标签生成画像。取评价指标前50个进行画像

3-3-1 A售货机画像

3-3-2 B售货机画像

3-3-3 C售货机画像

3-3-4 D售货机画像

3-3-5 E售货机画像

由上图可见,“东鹏特饮”,“怡宝纯净水”,“营养快线”“阿萨姆奶茶”等销量在ABCDE售货机上得评价都较为突出,应加大这部分的商品的供应量,以保证不缺货。

四、业务预测


4.1 预测原理与能否通过已有数据进行预测的原因


由于已有数据实在是太少了,我不认为可以在此基础上可以得到较为良好的预测模型。

即使我认为不能得到良好的模型,但还是要预测试验一下,考虑到数据量极其少,所以我先用了对小样本较好的SVM进行回归并预测。

预测原理:

4.2 预测结果


对数据的要求:最好多给几年的数据,只有一年的数据误差过于巨大。

预测结果:

A

预测销售额

均方误差

解释方差

可决系数

饮料

911.7

194717

0.8616

0.8609

非饮料

476.7

281774

0.37

0.3314

B

预测销售额

均方误差

解释方差

可决系数

饮料

2182

8250885

0.6096

0.5642

非饮料

455.8

2369291

0.5355

0.4398

C

预测销售额

均方误差

解释方差

可决系数

饮料

1452

1297623

0.7408

0.707

非饮料

721

1010230

0.3505

0.2915

D

预测销售额

均方误差

解释方差

可决系数

饮料

1329.8

1174716

0.7138

0.7103

非饮料

503

946773

0.2586

0.2554

E

预测销售额

均方误差

解释方差

可决系数

饮料

717.4

717113

0.643

0.6027

非饮料

780

630190

0.4312

0.4187

下列图为对比图(可若看不清可将图拖大):

图4-2-1 A售货机饮料类预测

图4-2-2 A售货机非饮料类预测

图4-2-3 B售货机饮料类预测

图4-2-4 B售货机非饮料类预测

图4-2-5 C售货机饮料类预测

图4-2-6 C售货机非饮料类预测

图4-2-7 D售货机饮料类预测

图4-2-8 D售货机非饮料类预测

图4-2-9 E售货机饮料类预测

python 数据分析可视化实战 超全 附完整代码数据相关推荐

  1. python大数据实战项目_商业数据分析比赛实战,内附项目代码

    如果你对商业数据分析感兴趣.想要积累更多项目经验,那么就来看看下面这项目吧. 数据竞赛平台和鲸社区最近正在举办一场数据分析大赛,不仅带来了22w奖金和30w创业基金支持,更是提供了统一的在线比赛环境, ...

  2. 基于python的问答对联生成系统 附完整代码 毕业设计

    软件标题:智能对联生成系统 b 系统概述 使用项目:智能对联生成系统 软件用途:通过网页端可以获取到根据已有上联只能生成的下联. 开发历史:本项目未曾有前置版本.但在服务器搭建,Tensorflow ...

  3. Python 使用Tkinter制作签名(附完整代码)

    思路: 先选择在线签名网站,找到接口模拟请求,然后将生成的签名图片显示在 Tkinter 生成的 GUI 窗口上,最后保存生成的签名图片 选择网址为:http://www.uustv.com/ 首先了 ...

  4. Python(matplotlib)海洋温度垂直剖面图(附完整代码)

    这里使用Argo格点数据BOA_Argo,如有需要可以从以下链接免费下载 [数据获取] argo网格化数据获取: ftp://data.argo.org.cn/pub/ARGO/BOA_Argo/ 如 ...

  5. 基于机器学习的电信客户流失预测 附完整代码+数据

    直接看视频:https://www.bilibili.com/video/BV1To4y1i78d/?vd_source=8f3cf4ad6c08a40d40ca6809c9c9e8ca 博客会分享完 ...

  6. python图像分类实战: Keras 实现 12500 张猫狗图像的精准分类 附完整代码+数据 可直接运行 毕业设计

  7. python微信好友分析源代码_搞事情了 | 教你用Python分析微信好友信息(内附完整代码)...

    本文经授权转载至公众号 Python 知识圈 未经授权 严禁二次转载 阅读文本大概需要 5 分钟 技术群里一位读者微信私聊我,问我能不能统计下微信好友信息并以文件形式保存.其实,以前也写过类似的文章, ...

  8. 搞事情了 | 教你用Python分析微信好友信息(内附完整代码)

    戳上方蓝字 "程序猿杂货铺" 关注我 并 置顶星标! 你的关注意义重大! 本文经授权转载至公众号 Python 知识圈 未经授权 严禁二次转载 阅读文本大概需要 5 分钟 技术群里 ...

  9. python数据分析可视化大众点评网餐厅口碑包含数据

    部分代码 import pandas as pd import numpy as np import matplotlib.pyplot as plt plt.rcParams["font. ...

最新文章

  1. 使用AIO软件清除日志
  2. android之权限大全
  3. C4.5中对于离散和连续特征的判定
  4. 数据结构---顺序查找和二分查找
  5. python识别验证码——PIL,pytesser,pytesseract的安装
  6. 【超参数寻优】交叉验证(Cross Validation)超参数寻优的python实现:单一参数寻优
  7. [渝粤教育] 西南科技大学 操作系统 在线考试复习资料
  8. 从excel读取数据,利用情感词典进行文本分类
  9. 农业银行联行号怎么查询_中国农业银行大额联行号12位是什么,怎么查找
  10. 延迟队列DelayQueue研究
  11. pid双闭环matlab仿真,SPWM波控制单相逆变器双闭环PID调节器的Simulink建模与仿真
  12. 年轻人的第一个开发板——树莓派
  13. 粤嵌实习-linux下madplay播放器的下载和使用、线程的介绍和创建一个广告循环播放线程
  14. 015.路径总和 路径总和II
  15. vue使用JavaScript的Number方法或正则表达式进行表单验证,判断值是否为数字(包括整数和小数),验证值只能为小数点后一位
  16. 控制器(Controller)规范
  17. GitHub实现邀请他人一起协作
  18. Koolshare端口转发
  19. 监控工具——Metrics的Histogram可配置项
  20. 泛微OA 修改网站标题logo及标题文字

热门文章

  1. 记录VITE Vue3开发需要的一些常用插件
  2. 《SpringBoot+vue全栈开发实战项目》笔记
  3. 常用的python面试题简单接触
  4. 【线程池】线程池创建的参数的作用new ThreadPoolExecutor()
  5. 安装mysql需要准备什么_你会安装mysql吗
  6. Ubuntu 18.04 查看本机IP地址的两种方法 ip和ifconfig
  7. Nginx集成FastDFS模块实现图片上传
  8. 女朋友和老婆是很有区别的
  9. MFA音素对齐版本降级
  10. 朝花夕拾 - 2019 总结