【大数据实训】python石油大数据可视化(八)

news2024/10/5 18:54:35

2014到2020年石油加工产品产量数据处理分析

一、任务描述

石油是工业的命脉。

一直到2020年,我国原油产量基本处于平稳的状态,大部分原油来自国外进口;中国原油加工产量在华东、东北地区占比较大,华南地区相对较少。原油的加工企业对原油的加工有很大的影响,中国石油营业收入及净利润也十分可观。

本课题的目标是用python编程,抓取有关网站的数据,并将获取数据保存到csv文件和excel文件中,然后使用python对数据进行清洗及处理,利用python可视化,结合数据处理与分析,获得数据的统计分析结果。

img img

图1 2014-2020年中国原油加工产量信息

**二、**数据获取与清洗

1、数据描述

数据来源:2020年中国原油加工产业现状分析、2019年中国原油加工量产量及格局分析(当前网络上暂无2020年数据,故爬取了2019年数据)

数据获取:2014-2020年中国原油产量统计、中国各地区原油加工比例。

2、使用工具

python是一种功能丰富的语言,它拥有一个强大的基本类库和数量众多的第三方扩展。本次报告,使用到的库有:

1)requests库

2)BeautifulSoup4库

3)csv库

4)pandas库

3、数据获取步骤

第一步:从网页上获取HTML内容。

第二步:分析网页内容并提取有用数据

第三步:将获得的数据写入Excel文件。

4、程序代码

  1. 获取数据代码如下

文件夹名称:报告

文件名称: 石油加工产品产量分析

img

图2 爬虫程序及运行结果

  1. 将获得各省原油加工产量以及各种油产量放入csv文件中,使用的函数代码如下:

img

图3 存储函数

5 数据清洗后保存到Excel和csv文件,使用的函数、Excel文件截图,存储位置如图4、5、6、7所示:

imgimg

图4 数据清洗并存储函数

img

图5 各种油的产量的excel文件截图

img

图6 各省油产量的excel文件截图

img

图7 存储位置截图

(默认存储到与py文件同目录的位置)

**、**数据处理和分析

1、数据可视化工具

python是一种功能丰富的语言,它拥有一个强大的基本类库和数量众多的第三方扩展。报告中使用Matplotlib库以及pyecharts库的Map库实现了数据可视化。

2、先用python 对2014-2020年各种油产量以及2019年各省油产量数据进行可视化处理,所用的函数代码以及柱状图如图8、9所示。

img

imgimg

图8 使用函数代码截图

imgimg

图9 各种油加工产量以及各省份加工原油产量

3、统计各种加工油产量以及各省市油产量数据,可视化后,画出折线图、饼状图如图10所示使用的代码如图11所示:

注明:代码本将七种油逐年产量数据均画出饼状图、折线图,因图数量过多,不全予以展示。

img

img

图10 各种油加工产量以及各省份加工原油产量

imgimg图11 使用的函数代码

4、特别地,我们安装pyecharts库将2019年各省油的产量在整个中国地图中呈现出来,观看时只需要将鼠标移到对应的省份,这样观看更加直观和方便。(其中山西、重庆、贵州、西藏、台湾暂无数据)代码及成果如下,结果如图

**、**关键问题及对策

1、*爬取时的问题*

问题描述:找到要爬取的网站,找到网站上目标表格。于是参考了第二次大作业所用的爬取数据的代码,但是出现了爬取数据不完整的问题:

img

图13 用爬虫抓取数据

解决方法:

通过查询网上资料,我发现了问题主要出在fillUnivlist函数中,把tds增加到可以容纳整个列表后问题就可以解决,并且将string改为text以加强函数的稳定性,如图14 :

img

图14

2**、** 实际编写代码时遇到代码过长问题

问题描述:在我编写到输出折线图和饼状图的代码时,由于要输出的图过多,导致代码过长,输出一张图至少需要10行,加上在绘制饼状图时要计算出百分数,计算一系列百分数最少需要5行,那么七个系列至少需要180行含有大量重复的绘图代码,这极易导致错误出现,于是我将绘图代码编成函数,使用函数输出,然而这样还会存在以下重复代码:img

依然存在大量重复代码,但是通过观察发现里面依然存在重复部分,此时我突然想起来“+”还可以链接字符串,于是我立刻拿出了课本,通过查阅课本发现的确可以,于是通过改写就有下列代码:

img

之后根据同样可以将重复部分改编成函数重复调用的方法,我经过压缩,将成品代码压缩到193行,其中函数部分有157行,主体部分有36行,如果将中间用于分割的空行删除,则可以进一步压缩,压缩过的代码不但整洁,还可以迅速发现并改正错误的、需要改正的地方。

五、数据处理与分析结果分析

综合以上分析,自2014-2020年各种油产量数据可以看出:

(1)各种加工油产量中柴油稳居第一,润滑基础油产量最低,表明我国在柴油方面需求较大,汽油相对较少,润滑基础油需求不高。

(2)七种加工油产量中柴油产量在2014年到2017年发展平稳,从2017年到2020年逐年下降;石脑油、润滑基础油、石油沥青的产量逐年上升;汽油在2014到2019年产量逐年上升,但在2020年突然下降,可能受到了疫情的影响;燃料油近些年来产量上下浮动较大,但在2018年到2020年产量一直上升,推测下一年产量还会上升;总体来看,未来除柴油和汽油外,其他油下一年产量可能还会升高,柴油和汽油在经历疫情影响后可能会积极恢复,再次实现增长。

(3)2019年中国原油加工产量65198.1万吨,其中:位于第一的是山东省,原油加工量产量11342.2万吨;第二的是辽宁省,原油加工量产量8186.5万吨;广东省进入第三,原油加工量产量4665.6万吨;其中值得注意的是在其他地区加工的原油占大多数,产量达到10574.8万吨,这些产量有可能来自暂无数据的山西、重庆、贵州、台湾,还有可能是从国外进口的成品油。

(4)最近一年,2020年中国原油加工产量为67440.8万吨,同比增长3.4%,表明虽然我国经历了新冠疫情的影响,但是我国在疫情得到控制后积极恢复,原油加工产量不降反增,原油加工产业受到疫情影响不大。

(5)原油加工产品中,2020年中国石脑油产量为4232万吨,同比增长8.6%;中国润滑基础油产量为875万吨,同比增长14.3%;中国柴油产量为15904.9万吨,同比下降4.4%;中国煤油产量为4049.4万吨,同比下降23.2%;中国汽油产量为13171.7万吨,同比下降6.7%;中国燃料油产量为3406.3万吨,同比增长37.9%;中国石油沥青产量为6279.6万吨,同比增长24.6%;总体来看我国原油加工产业正不断发展。

六、程序代码

**、**学习总结与反思

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

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

相关文章

独立站退款率太高会怎么样?如何解决独立站退款纠纷?——站斧浏览器

独立站退款率太高会怎么样? 当独立站的退款率过高时,可能会对卖家和平台产生一些负面影响: 信誉受损:退款率过高可能会导致卖家的信誉受损。买家在购物时通常倾向于选择评价好的卖家,高退款率可能会让卖家的评价下降…

二维相位展开问题(讨论针对不连续相位展开算法鲁棒性)

作者:Munther Gdeisat博士和Francis Lilley博士 先决条件:为了理解本教程,在阅读本文档之前,您必须已经学习并完成“一维相位展开问题”教程。 有许多应用程序可以生成包裹的相位图像。例如合成孔径雷达(SAR&#xf…

动态内存分配(malloc和free​、calloc和realloc​)

目录 一、为什么要有动态内存分配​ 二、C/C中程序内存区域划分​ 三、malloc和free​ 2.1、malloc 2.2、free​ 四、calloc和realloc​ 3.1、calloc​ 3.2、realloc​ 3.3realloc在调整内存空间的是存在两种情况: 3.4realloc有malloc的功能 五、常见的动…

软件工程--设计工程--学习笔记(软件设计原则、软件质量属性设计、架构风格......)

软件设计在软件工程中处于技术核心,其目的是把需求分析模型转变为设计模型,以知道软件的实现,本章讲解软件设计的基本原则和基本实践 本文参考教材:沈备军老师的《软件工程原理》 软件设计概述 软件设计分为两个阶段&#xff0…

Python之文件内容操作

文章目录 1、文件操作基本知识2、Open3、PathLib3.1、Pathlib—path.open3.2、Pathlib— pathByte.write_bytes/ pathByte.read_bytes 4、JSON5、二进制文件操作6、Excel、word 1、文件操作基本知识 按文件中数据的组织形式把文件分为文本文件和二进制文件两类。 文本文件&am…

文本生成精准图像字幕,谷歌等开源PixelLLM

传统的大语言模型可以描述、回答与图像相关的问题,甚至进行复杂的图像推理。但使用大型语言模型进行文本定位,或用图像指代准确坐标却不太行。 为了进行该技术的探索,谷歌和加州大学圣地亚哥分校的研究人员开发了像素对齐大语言模型——Pixe…

65 数学游戏

动态规划 #include <iostream> #include <vector>using namespace::std; using std::cout; using std::cin; vector<int> use;int dfs(int now,int maxChoosableInteger,int desiredTotal) {if(use[now] ! 0) {return use[now]1;}int res0;for(int imax…

代码审查工具FishEye详细使用教程

1. Git代码仓库设置 1、登录并进入到FishEye主页面&#xff0c;点击Repositories进入仓库管理页面&#xff0c;如下图&#xff1a; 2、填写仓库信息&#xff0c;如下图&#xff1a; 3、填写Git地址 http://gitAccount:gitPwd118.24.231.166:8080/git/git/iot-lvdao/iot-dhcc.…

TCAX特效字幕保姆入门教程+效果演示+软件源码自取

目录 介绍 下载链接 初步使用 软件使用 tcc文件介绍 tcc文件版本 模式设置 ​编辑 k值提供方式举例 特效脚本设置 主要设置 ass全局风格设置 额外设置 常见问题 编码使用 使用其他tcax博主的进行编码测试 介绍 TCAX是一款专门用于制作特效字幕的软件。通过TCAX…

【计算机网络】TCP协议——1.报文格式详解

前言 上篇讲解了UDP报文格式。TCP和UDP是同层协议&#xff0c;都属于传输层&#xff0c;数据来源于上层——应用层 目录 一. TCP协议概述 二. TCP报文格式 1. 两个问题 2. 确认号和序列号 3. 标志位字段 4. 窗口大小 5. 校验和字段 6. 紧急指针与紧急数据 7. 选项字…

secureCRT串口助手配置RS232和RS422

串口RS422配置如图 和RS422不同&#xff0c;串口RS232配置如图&#xff0c;否则会通信不正常。

Station_Map1221Update

1221 Polish 1. Transfer the road coordinates from the UE coordinates system into the CAD coordinates system by using the functions in the file INDEX2UE.py 坐标转换的时候&#xff0c;插值&#xff0c;取特征点&#xff08;交叉点&#xff09;Transfer the road c…

Nature自然杂志重磅:AI复现诺奖研究一次成功只需几分钟,Coscientist科学家的好助手

《Nature》是世界上历史悠久的、最有名望的科学杂志之一&#xff0c;首版于1869年11月4日。与当今大多数科学论文杂志专一于一个特殊的领域不同&#xff0c;其是少数依然发表来自很多科学领域的一手研究论文的杂志&#xff08;其它类似的杂志有《科学》和《美国科学院学报》等&…

ES集群G1回收器,堆空间无法被回收问题

ES堆空间不足的问题&#xff0c;困扰了我有两年的时间。dump堆去分析&#xff0c;也未能分析出来&#xff0c;堆到底是被什么占用了。 我把堆空间给了31.9G&#xff0c;这是指针压缩生效的临界值&#xff0c;如果再大就指针压缩失效了。 痛苦的是&#xff0c;随着时间的增长。堆…

uniapp-uni-icons组件@click.stop失败解决~

你们好&#xff0c;我是金金金。 场景 可以看见我右侧有两个icon&#xff0c;点击的时候 会影响到折叠面板的打开&#xff0c;这让我很是苦恼&#xff0c;然后我使用了click.stop修饰符阻止事件冒泡 排查 排查之前我先贴一下代码 报错截图 可以看到找不到属性stopPropagation&…

抖音小程序开发入门

注册账号 公司和个人的都是在同一个地方注册&#xff0c;个人开发者勾选 个人开发即可 https://developer.open-douyin.com/ 在企业号&#xff0c;账号中心&#xff0c;直接邀请开发人员 发出邀请之后&#xff0c;需要被邀请人登录账号接收 调试 开发人员调试应用&#xf…

软件设计模式:六大设计原则

文章目录 前言一、开闭原则二、里氏替换原则三、依赖倒转原则四、接口隔离五、迪米特法则六、合成复用原则总结 前言 在软件开发中&#xff0c;为了提高软件系统的可维护性和可复用性&#xff0c;增加软件的可扩展性和灵活性&#xff0c;程序员要尽量根据6条原则来开发程序&am…

宝塔面板安装MySQL数据库并通过内网穿透工具实现公网远程访问

文章目录 前言1.Mysql 服务安装2.创建数据库3.安装 cpolar3.2 创建 HTTP 隧道 4.远程连接5.固定 TCP 地址5.1 保留一个固定的公网 TCP 端口地址5.2 配置固定公网 TCP 端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了 Linux 命令行进行繁琐的配置,下面简单几步,通…

关于研发费用资本化和费用化的理解以及在利润表与资产负债表之间的勾稽关系

关注WX公众号&#xff1a; commindtech77&#xff0c; 获得数据资产相关白皮书下载地址 回复关键字&#xff1a;推荐系统 下载《新闻资讯个性化推荐系统源码》 回复关键字&#xff1a;数据资源入表白皮书 下载《2023年数据资源入表白皮书》 原文链接&#xff1a; 关于研发…

python 常用知识点

文章目录 Python 概述内置对象、运算符、表达式、关键字Python 序列结构 Python 概述 标准库与拓展库中对象的导入与使用 &#xff08;1&#xff09;import 模块名 [ as 别名 ] //使用时用’模块名.对象名’的形式访问 &#xff08;2&#xff09;from 模块名 import 对象名 [ a…