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

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.rhkb.cn/news/221571.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

去掉乘法运算的加法移位神经网络架构

[CVPR 2020] AdderNet: Do We Really Need Multiplications in Deep Learning? 代码:https://github.com/huawei-noah/AdderNet/tree/master 核心贡献 用filter与input feature之间的L1-范数距离作为“卷积层”的输出为了提升模型性能,提出全精度梯度…

CSS自适应分辨率 amfe-flexible 和 postcss-pxtorem:大屏高宽自适应问题

前言 继上篇《CSS自适应分辨率 amfe-flexible 和 postcss-pxtorem》。 发现一个有趣的问题,文件 rem.js 中按照宽度设置自适应,适用于大多数页面,但当遇到大屏就不那么合适了。 问题 使用宽度,注意代码第2 和 4 行:…

补题与周总结:leetcode第 376 场周赛

文章目录 复盘与一周总结2967. 使数组成为等数数组的最小代价(中位数贪心 回文数判断)2968. 执行操作使频率分数最大(中位数贪心 前缀和 滑窗) 复盘与一周总结 wa穿了第3题,赛时其实想到了思路:中位数贪心…

C#上位机与欧姆龙PLC的通信03----创建项目工程

1、创建仿真PLC 这是一款CP1H-X40DR-A的PLC,呆会后面创建工程的时候需要与这个类型的PLC类型一致,否则程序下载不到PLC上。 2、创建虚拟串口 首先安装,这个用来创建虚拟串口来模拟真实的串口,也就是上位机上有那种COM口&#xf…

【SplaTAM】基于RGB-D类型SplaTAM的定位与重建

SplaTAM ubuntu配置与运行记录 1. 资料收集2. 环境配置与运行注意问题3. 在线运行 近期各种定会涌现出一种新的基于高斯的方法,备受关注,这里我们也来学习下sota效果的slam用于定位和重建。 1. 资料收集 coda link3D Gaussians 2.1 Dynamic 3D Gaussian…

百度侯震宇:AI原生与大模型将从三个层面重构云计算

12月20日,2023百度云智大会智算大会在北京举办,大会以「大模型重构云计算,Cloud for AI」为主题,深度聚焦大模型引发的云计算变革。 百度智能云表示,为满足大模型落地需求,正在基于「云智一体」战略重构…

linux 驱动——私有数据

文章目录 linux 驱动中的私有数据container_of驱动程序数据结构定义 应用程序模块使用 linux 驱动中的私有数据 前面的程序中,都只申请了一个从设备号,这里使用 alloc_chrdev_region 分配两个设备号,这两个设备共用 ops 方法。 所以需要在 …

企业网络常用技术-快速生成树RSTP原理与配置

STP协议虽然能够解决环路问题,但是收敛速度慢,影响了用户通信质量。如果STP网络的拓扑结构频繁变化,网络也会频繁失去连通性,从而导致用户通信频繁中断。IEEE于2001年发布的802.1w标准定义了快速生成树协议RSTP(Rapid …

【C++高阶(八)】单例模式特殊类的设计

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:C从入门到精通⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你学习C   🔝🔝 单例模式 1. 前言2. 设计一个不能被拷贝/继承的…

3d游戏公司选择云电脑进行云办公有哪些优势

随着游戏行业的不断发展,很多的游戏制作公司也遇到了很多的难题,比如硬件更换成本高、团队协同难以及效率低下等问题,那么如何解决游戏行业面临的这些行业痛点,以及游戏制作公司选择云电脑进行云办公有哪些优势?一起来…

麒麟V10 ARM 离线生成RabbitMQ docker镜像并上传Harbor私有仓库

第一步在外网主机执行: docker pull arm64v8/rabbitmq:3.8.9-management 将下载的镜像打包给离线主机集群使用 在指定目录下执行打包命令: 执行: docker save -o rabbitmq_arm3.8.9.tar arm64v8/rabbitmq:3.8.9-management 如果懒得打包…

A01、关于jvm执行子系统

1、Class 类文件结构 1.1、Java跨平台的基础 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是构成平台无关性的基石,也是语言无关性的基础。Java虚拟机不和包括Java在内的任何语言绑定,它只与 “…

OpenCV消除高亮illuminationChange函数的使用

学更好的别人, 做更好的自己。 ——《微卡智享》 本文长度为1129字,预计阅读4分钟 导语 上一篇《OpenCV极坐标变换函数warpPolar的使用》中介绍了极坐标变换的使用,文中提到过因为手机拍的照片,部分地方反光厉害。OpenCV本身也有一…

FFmepeg——视频处理工具安装以及简单命令学习。

FFmpeg 是一个免费、开源且高度可定制的多媒体处理工具,它是一个强大的跨平台框架,用于处理音频、视频、多媒体流和图像。FFmpeg 的主要功能包括解码、编码、转码、流处理、多路复用、分离、合并、过滤等,支持多种音视频格式,包括…

外卖系统海外版:技术智能引领全球美食新潮流

随着全球数字化浪潮的推动,外卖系统海外版不仅是食客们品味美食的便捷通道,更是技术智能在美食领域的引领者。本文将深入剖析其背后的技术实现,揭开代码带来的美食革新。 多语言支持:构建全球美食沟通桥梁 def multilingual_su…

排序算法——快排

快速排序算法最早是由图灵奖获得者Tony Hoare设计出来的,他在形式化方法理论以 及ALGOL.60编程语言的发明中都有卓越的贡献,是20世纪最伟大的计算机科学家之—。 而这快速排序算法只是他众多贡献中的—个小发明而已。 快速排序(Quick Sort)的基本算法思…

最新国内可用使用GPT4.0,GPT语音对话,Midjourney绘画,DALL-E3文生图

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画,相信对大家应该不感到陌生吧?简单来说,GPT-4技术比之前的GPT-3.5相对来说更加智能,会根据用户的要求生成多种内容甚至也可以和用户进行创作交流。 然而,GP…

2023/12/20 work

1. 使用select完成TCP客户端程序 2. 使用poll完成TCP并发服务器 3. 思维导图

智能优化算法应用:基于水基湍流算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于水基湍流算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于水基湍流算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.水基湍流算法4.实验参数设定5.算法结果6.…

MongoDB的原子操作findAndReplace、findOneAndDelete和deleteMany

本文主要介绍MongoDB的原子操作findAndReplace、findOneAndDelete和deleteMany。 目录 MongoDB的原子操作一、findAndReplace二、findOneAndDelete三、deleteMany MongoDB的原子操作 MongoDB的原子操作指的是在单个操作中对数据库的数据进行读取和修改,并确保操作是…