当前位置: 首页 > news >正文

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

代码+数据: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 数据分析可视化实战 超全 附完整代码数据

代码数据:https://download.csdn.net/download/qq_38735017/873799141.1 数据预处理1.1.1 异常值检测①将支付时间转为标准时间的过程中发生错误,经排查错误数据为‘2017/2/29’,后将其修改为‘2017/2/27’。②经检测发现部分订单应付金额与实付金额都为…...

有趣的HTML实例(十三) 咖啡选择(css+js)

一个人追求目标的路途是孤单的,一个人独品辛酸的时候是寂寥的,一个人马不停蹄的追赶着,狂奔着,相信前方是一片光明,我从不放弃希望,就像我对生活的信念,没有人可以动摇。 ——《北京青年》 目录…...

【力扣-LeetCode】1139. 最大的以 1 为边界的正方形 C++题解

1139. 最大的以 1 为边界的正方形难度中等137收藏分享切换为英文接收动态反馈给你一个由若干 0 和 1 组成的二维网格 grid,请你找出边界全部由 1 组成的最大 正方形 子网格,并返回该子网格中的元素数量。如果不存在,则返回 0。示例 1&#xf…...

【JavaGuide面试总结】Redis篇·下

【JavaGuide面试总结】Redis篇下1.如何使用 Redis 事务?2.如何解决 Redis 事务的缺陷?3.说说Redis bigkey吧4.大量 key 集中过期问题怎么解决的5.如何保证缓存和数据库数据的一致性?6.缓存穿透有哪些解决办法?7.缓存击穿有哪些解决…...

ForkJoinPool原理

1、概述 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架。ForkJoinPool是Java中提供了一个线程池,特点是用来执行分治任务。主题思想是将大任务分解为小任务,然后继续将小任务分解,直至能够直接解决为止,然后再依次将任…...

02 python基本语法和数据类型

基本语法 python脚本可以在python交互式shell或者代码编辑器中编写与运行。python文件的扩展名一般为.py python使用缩进来区分不同的代码块,此特性有利于提高代码可读性。 下面是一个简单的python条件语句代码: 小明=矮穷错 小红=白富美 小华=高富帅 小李=程序员某人 = &quo…...

【办公类-16-09】“2022下学期 大班运动场地分配表-跳过节日循环排序”(python 排班表系列)

样例展示:跳过节日的运动场地循环排序表(8个班级8组内容 下学期一共20周)背景需求:上学期做过一次大班运动场地安排,跳过节日。2023.2下学期运动场地排班(跳过节日)又来了。一、场地器械微调二、…...

全网多种方法分析解决HTTP Status 404资源未找到的错误,TCP的3次握手,dns域名解析,发起http请求以及cookie和session的区别

文章目录1. 文章引言2. 简述URL3. http完整请求3.1 DNS域名解析3.2 TCP的3次握手3.3 发起http请求3.4 浏览器解析html代码3.5 浏览器对页面进行渲染呈现给用户4. 解决404错误的方法5. 补充知识点5.1 cookie和session的区别5.2 ChatGPT的介绍1. 文章引言 正赶上最近ChatGPT很火…...

Django图书商场购物系统python毕业设计项目推荐

mysql数据库进行开发,实现了首页、个人中心、用户管理、卖家管理、图书类型管理、图书信息管理、订单管理、系统管理等内容进行管理,本系统具有良好的兼容性和适应性,为用户提供更多的网上图书商城信息,也提供了良好的平台&#x…...

基于模型预测控制(MPC)的悬架系统仿真分析

目录 前言 1.悬架系统 2.基于MPC的悬架系统仿真分析 2.1 simulink模型 2.2仿真结果 2.3 结论 3 总结 前言 模型预测控制是无人驾驶中较为热门的控制算法,但是对于悬架等这类系统的控制同样适用。 我们知道模型预测控制主要可以划分为三个部分: …...

Word处理控件Aspose.Words功能演示:使用 Java 拆分 MS Word 文档

Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务。API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word。此外,API支持所有流行的Word处理文件…...

图扑数字孪生智慧机场,助推民航“四型机场“建设

前言 民航局印发的《智慧民航建设路线图》文件中,明确提出智慧机场是智慧民航的四个核心抓手之一。并从机场全域协同运行、作业与服务智能化、智慧建造与运维方面,为智慧机场的发展绘制了清晰的蓝图。 效果展示 图扑软件应用自主研发核心产品 HT for …...

内网安装管家婆软件如何实现外网访问?内网穿透的几种方案教程

管家婆软件从网络架构上分两种版本:web(浏览器http端口)访问的版本和客户端(211固定端口sqlserver数据库)访问的版本。公司库管经常用仓库登录管家婆,一旦需要在公司外部登陆访问管家婆客户端,就…...

CCNP350-401学习笔记(1-50题)

1、Which function does a fabric edge node perform in an SD-Access deployment?A. Connects endpoints to the fabric and forwards their traffic. B. Encapsulates end-user data traffic into LISP. C. Connects the SD-Access fabric to another fabric or external La…...

基于微信小程序的新冠肺炎服务预约小程序

文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器…...

网站项目部署在k8s案例与Jenkins自动化发布项目(CI/CD)

在K8s平台部署项目流程 在K8s平台部署Java网站项目 制作镜像流程 第一步:制作镜像 使用镜像仓库(私有仓库、公共仓库): 1、配置可信任(如果仓库是HTTPS访问不用配置) # vi /etc/docker/daemon.json { "…...

网络原理 (1)

网络原理 文章目录1. 前言: 2. 应用层2.1 XML2.2 json2.3 protobuffer3. 传输层3.1 UDP3.1 TCP4. TCP 内部的工作机制 (重点)1. 确认应答 2.超时重传3. 连接管理3.1 建立联系 :三次握手3.2 断开连接 : 四次挥手4. 滑动窗口5. 流量…...

LeetCode-1139. 最大的以 1 为边界的正方形【前缀和,矩阵】

LeetCode-1139. 最大的以 1 为边界的正方形【前缀和,矩阵】题目描述:解题思路一:前缀和。前缀和来记录边长。解题思路二:0解题思路三:0题目描述: 给你一个由若干 0 和 1 组成的二维网格 grid,请…...

windows10/11,傻瓜式安装pytorch(gpu),在虚拟环境anaconda

安装anaconda地址 :Anaconda | The Worlds Most Popular Data Science Platform安装选项全默认点击next就行。查看支持cuda版本cmd命令行输入nvidia-smi。下图右上角显示11.6为支持的cuda版本。要是显示没有nvidia-smi命令。得安装nvidia驱动,一般情况都…...

Revit导出PDF格式图纸流程及“批量导出图纸”

一、Revit导出PDF格式图纸流程 1、点击左上方“应用程序菜单”即“R”图标,进择“打印”选项。 2、在弹出的对话框中,需要设置图纸“打印范围”,选择“所选的视图/图纸选项”,点击“选择”,按钮,选择我们需…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

【2025年】解决Burpsuite抓不到https包的问题

环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...

【HTML-16】深入理解HTML中的块元素与行内元素

HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)

一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...