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

news2024/11/16 18:37:32

代码+数据: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售货机饮料类预测

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/349436.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决jupyter以及windows系统中pycharm编译器画图的中文乱码问题大全

一、jupyter环境下中文乱码问题解决 我们在jupyter的notebook中使用matplotlib画图的时候,经常性的会遇见一些中文乱码显示□的情况,如下所示: 在此,网上给出的方法大多是以下的解决方法: import matplotlib.pyplot as pltplt.rcParams[fo…

界面组件Telerik UI for WinForms R1 2023——全新的Windows 11主题

Telerik UI for WinForms拥有适用Windows Forms的110多个令人惊叹的UI控件。所有的UI for WinForms控件都具有完整的主题支持,可以轻松地帮助开发人员在桌面和平板电脑应用程序提供一致美观的下一代用户体验。Telerik UI for WinForms组件发布了2023年第一个重大版本…

QCon演讲实录(下):多云管理关键能力实现与解析-AppManager

在上篇中,我们已经基本了解了多云管理。现在,我们将深入探讨多云管理关键能力实现:AppManager。 什么是AppManager? 上面我们讲了理论、我们自己使用的交付流程和整体架构,下面我们进入关键能力实现与解析的环节&…

Allegro如何通过视图显示区分动态和静态铜皮操作指导

Allegro如何通过视图显示区分动态和静态铜皮操作指导 用Allegro做PCB设计的时候,通常动态和静态铜皮是无法通过视图显示区分的,只能通过show element查看得知,如下图 左边铜皮是动态铜皮,右边是静态铜皮 但Allegro可以通过一些设置让动静态铜皮以不同效果显示出来 具体操…

Elasticsearch:使用 intervals query - 根据匹配项的顺序和接近度返回文档

Intervals query 根据匹配项的顺序和接近度返回文档。Intervals 查询使用匹配规则,由一小组定义构成。 然后将这些规则应用于指定字段中的术语。 这些定义产生跨越文本正文中的术语的最小间隔序列。 这些间隔可以通过父源进一步组合和过滤。 上述描述有点费解。我…

【计算机网络】HTTPS协议原理

文章目录一、认识HTTPS协议二、为什么要发明HTTPS三、HTTP与HTTPS的区别四、常见的加密方式1. 对称加密2. 非对称加密3. 数据摘要4. 数字签名五、HTTPS的原理探究方案1:只使用对称加密方案2:只使用非对称加密方案3:双方都使用非对称加密方案4…

2.15学习总结

上次被学长的问题给问住了,突然发现自己动规有点糊涂,然后就去屁颠屁颠的复习,找几个之前做过的题,突然发现,竟然还是写了好久才写出来,怎么说呢,信心被强烈打击到,然后自己找了一个…

MyBatis 之二(增、删、改操作)

文章目录1. 修改操作1.1 在 mapper&#xff08;interface&#xff09;里面添加修改方法的声明1.2 在 XMl 中添加 <update> 标签和修改的 sql 代码1.3 在 UserMapper 中右键 Generate 点击 Test 生成 update 测试类2. 删除操作2.1 在 mapper &#xff08;interface&#x…

重生之我是赏金猎人-SRC漏洞挖掘(六)-记一次有趣的客户端RCE+服务端XXE挖掘

0x01 起因 朋友给某甲方做渗透测试&#xff0c;奈何甲方是某知名保险&#xff0c;系统太耐艹&#xff0c;半天不出货 兄弟喊我来一块来看&#xff0c;于是有了本文 0x02 客户端RCE一处 朋友把靶标发给我看了下&#xff0c;除了两个下载链接啥也没有 链接下载下来的东西如图…

回溯算法理论基础

目录什么是回溯法回溯法的效率回溯法解决的问题如何理解回溯法回溯法模板什么是回溯法 回溯法也可以叫做回溯搜索法&#xff0c;它是一种搜索的方式。 回溯是递归的副产品&#xff0c;只要有递归就会有回溯。 所以以下讲解中&#xff0c;回溯函数也就是递归函数&#xff0c;指…

SpringCloud: sentinel降级配置、热点参数、系统规则 配置到nacos

一、application.yml spring.cloud.sentinel cloud:nacos:discovery:# 服务注册地址server-addr: xxx.xxx.xxx.xxx:8848sentinel:eager: truetransport:# 控制台地址dashboard: localhost:9999# nacos配置持久化datasource:ds2:nacos:server-addr: xxx.xxx.xxx.xxx:8848dataId…

YOLO 格式数据集制作

目录 1. YOLO简介 2.分割数据集准备 3.代码展示 整理不易&#xff0c;欢迎一键三连&#xff01;&#xff01;&#xff01; 1. YOLO简介 YOLO&#xff08;You Only Look Once&#xff09;是一种流行的目标检测和图像分割模型&#xff0c;由华盛顿大学的 Joseph Redmon 和 Al…

B端产品设计表单的主要分类和相关控件认识

在 Ant、TDesign、Arco 等开源系统中&#xff0c;表单的控件罗列、解释都已经非常全面了&#xff0c;即使是新手完整的看一遍&#xff08;这可不能偷懒&#xff5e;&#xff09;&#xff0c; 也能对表单相关控件有个大致的认识了。 之所以还要更新今天这篇内容&#xff0c;就是…

「5」线性代数(期末复习)

&#x1f680;&#x1f680;&#x1f680;大家觉不错的话&#xff0c;就恳求大家点点关注&#xff0c;点点小爱心&#xff0c;指点指点&#x1f680;&#x1f680;&#x1f680; 目录 第四章 向量组的线性相关性 &5&#xff09;向量空间 第五章 相似矩阵及二次型 &a…

HIVE 安装

目录 启动hadoop 把hive压缩包拷贝到虚拟机里面 解压 改名 配置环境变量 新建一个hive-site.xml文件&#xff0c;并编辑 配置文件 添加jar包 初始化mysql 启动hive 创建数据库 使用数据库 创建表 添加数据 查看数据 删除表 安装虚拟机 安装JDK 安装Hadoop …

亿级高并发电商项目-- 实战篇 --万达商城项目 九(广告服务、安装Redis优化用户缓存、广告服务实现类等开发)

专栏&#xff1a;高并发---分布式项目 亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 &#xff08;商家端与用户端功能介绍、项目技术架构、数据库表结构等设计&#xff09; 亿级高并发电商项目-- 实战篇 --万达商城项目搭建 一 &#xff08;商家端与用户端功能介绍、项…

多功能手机-课后程序(JAVA基础案例教程-黑马程序员编著-第三章-课后作业)

【案例3-3】多功能手机 记得 关注&#xff0c;收藏&#xff0c;评论哦&#xff0c;作者将持续更新。。。。 【案例介绍】 案例描述 随着科技的发展&#xff0c;手机的使用已经普及到每个家庭甚至个人&#xff0c;手机的属性越来越强大&#xff0c;功能也越来越多&#xff0c;因…

测试开发之Django实战示例 第十一章 渲染和缓存课程内容

第十一章 渲染和缓存课程内容在上一章中&#xff0c;使用了模型继承和通用关系建立弹性的课程、章节和内容的关联数据模型&#xff0c;并且建立了一个CMS系统&#xff0c;在其中使用了CBV&#xff0c;表单集和AJAX管理课程内容。在这一章将要做的事情是&#xff1a;创建公开对外…

数据建模工具:GeneXproTools 5.0 Crack

什么是 GeneXproTools&#xff1f; Microsoft 屡获殊荣的 GeneXproTools 是一种极其灵活的建模工具&#xff0c;专为 回归、逻辑回归、分类、时间序列预测和逻辑综合而设计。GeneXproTools 非常易于使用&#xff0c;实际上就像导入数据一样简单&#xff0c;然后单击一个按钮&a…

【nodejs-05】黑马nodejs学习笔记05-数据库基本操作01

文章目录3.MySQL的基本使用3.1 使用 MySQL Workbench 管理数据库3.2 使用 SQL 管理数据库3.3 SQL 的 SELECT 语句3.4 SQL 的 INSERT INTO 语句3.5 SQL 的 UPDATE 语句3.6 SQL 的 DELETE 语句3.7 SQL 的 WHERE 子句3.8 SQL 的 AND 和 OR 运算符3.9 SQL 的 ORDER BY 子句3.10 SQL…