Python数据分析之PMI数据图形展示
作者:??斜月???? 发布时间:2022-06-19 07:18:23
前言
前文讲述了ppi-cpi和m0-m1-m2的图形绘制,在本文中继续分享一个反映经济活动景气度的指标PMI
,在本文中还是采用爬虫的方式获取数据,然后通过matplotlib
绘图工具将PMI
逐年数据进行展示。对于新手来讲,会学习到python
的基础知识、爬虫以及图形绘制的知识。
PMI 数据获取
在获取数据之前,先讲述一下PMI
(采购经理人指数) 数据背后的含义: 大家都知道,制造业是一个国家的立国之本,那么PMI
就是衡量一个国家制造业发展运行情况的指标,通常情况下,比 50% 为分界线来经济强弱的分水岭,大于 50% 则代表制造业处于扩张,处理 40-50 则代表衰退,40 以下就是萧条了。
既然是数据获取,就需要找一个权威的网站获取数据,这里小编采用东方财富网的数据,这里直接给出页面的访问地址:
# 货币供应量数据访问地址
https://data.eastmoney.com/cjsj/pmi.html
采购经理人指数的数据来源如下图所示,这里只获取制造业和非制造业的指数数据即可,同比增长数据就不去获取了。
既然知道了采购经理人指数的来源,怎么获取数据呢,是不是要复制页面进 excel 在进行解析,如果这样的做话,费时费力。我想诸位页注意到了表格下方有分页,那么肯定是有通过 ajax 和后台进行通信的,通过观察可以发现如下接口,数据交互的结果如下图所示:
#采购经理人指数
https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=200&mkt=21
# 这里也同样贴了前文中货币供应量接口、 ppi 和 cpi 的接口,会发现都是一样的,只不过mkt的参数不一样
# 货币供应量接口
https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=200&mkt=11
# ppi 数据和cpi 数据
https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=10&mkt=22
https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=10&mkt=19
至于数据的获取,还是使用原理的方式进行操作,使用python
抓取数据,这里采用requests
来获取数据:
body = requests.get(req_url).text
body = body.replace("(", "").replace(")", "")
data_list = body.split("\",\"")
# 定义数据
date_list, pmi1_list, pmi2_list = [], [], []
for node in data_list:
node = node.replace("]", "").replace("[", "").replace("\"", "")
arr_list = node.split(",")
date = arr_list[0]
if date < "2010-01-01":
continue
# 时间数据
date_list.append(date)
# 数据操作存储
pmi1_list.append(float(arr_list[1]))
pmi2_list.append(float(arr_list[3]))
print(node)
最终获取到的数据如下图所示:
pmi 图形绘制
在绘制图形之前,需要先对数据进行处理:
1 数据需要进行加工,提取需要展示的数据,而后数据的格式需要转换。
2 在数据处理时,还是按照制造业和非制造业、时间的列表来获取数据。
3 依旧使用 np.asarray 创建数据,进行图形绘制的准备工作。
按照以上的观点,数据处理的代码如下图所示:
对于图形的绘制,有以下几点:
1 图形中需要展示制造业和非制造业的数据情况,同时展示图例进行标识。
2 设置指标为 50 和 40 水平线,用于设置标准对比线型。
最后,经过这些编码,得到最终的制造业和非制造业指数对比图形如下:
来源:https://juejin.cn/post/7082787341508542500


猜你喜欢
- 经常使用到有关数据库的操作。包括连接代码、SQL命令等等,又不曾刻意去记忆它们(我本人是不愿意去记这东东),所以常常在用到的时候又去查书本,
- 前言众所周知,appsetting.json 配置文件是.Net 的重大革新之心,抛开了以前繁杂的xml文件,使用了更简洁易懂的json方式
- 前言本文使用 cpu 的 tensorflow 2.4 完成迁移学习和模型微调,并使用训练好的模型完成猫狗图片分类任务。预训练模型在 NLP
- 使用pandas库来读取xlsx格式中的数据。excel中数据:示例代码1:import pandas as pd# data = pd.r
- 目标站点分析本次要抓取的目标站点为:中介网,这个网站提供了网站排行榜、互联网网站排行榜、中文网站排行榜等数据。网站展示的样本数据量是 :58
- 本文实例讲述了Python大数据之使用lxml库解析html网页文件。分享给大家供大家参考,具体如下:lxml是Python的一个html/
- 1、先说恢复误删单元格的操作场景:不小心把某个cell给cut了,或者删除了单元格(前提不要关闭notebook窗口)。解决方法: 先按Es
- 第1步:安装cross-envnpm i --save-dev cross-env 第2步:修改各环境下的参数在config/目录下添加te
- python 遍历字符串(含汉字)实例详解s = "中国china"for j in s: print j首
- 本文研究的主要是Python爬虫天气预报的相关内容,具体介绍如下。这次要爬的站点是这个:http://www.weather.com.cn/
- 引由于需要解决大批量Excel处理的事情,与其手工操作还不如写个简单的代码来处理,大致选了一下感觉还是Python最容易操作。安装库Pyth
- 简介pyenv 是一个开源的 Python 版本管理工具,可以轻松地给系统安装任意 Python 版本,想玩哪个版本,瞬间就可以切换。有了
- 目录什么是引用?引用在数组和对象中的使用引用的传递引用的返回引用的取消总结什么是引用?在 PHP 中引用意味着用不同的名字访问同一个变量内容
- 提示:本文多图,请手机端注意流量。前言利用python做图片识别,识别提取图片中的文字会有很多方法,但是想要简单一点怎么办,那就可以使用te
- 今天给大家推荐一款很好用的Python编辑器,全世界90%Python开发者都会用的开发工具------Pycharm,完全免费哦1. 百度
- strConnString = "driver={MySQL ODBC 3.51 
- SQL 标准使用 CREATE TABLE 语句创建数据表;MySQL 则实现了三种创建表的方法,支持自定义表结构或者通过复制已有的表结构来
- 打开文件用open,该函数创建一个文件对象,这将用来调用与之关联的其他支持方式。file object = open(file_name [
- Python的字典一般都直接查找key ,比如dict={'a':1,'b':2,'c':3
- 多进程通信方法好多,不一而数。刚才试python封装好嘅多进程通信模块 multiprocessing.connection。简单测试咗一下