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

采购经理人指数的数据来源如下图所示,这里只获取制造业和非制造业的指数数据即可,同比增长数据就不去获取了。

Python数据分析之PMI数据图形展示

既然知道了采购经理人指数的来源,怎么获取数据呢,是不是要复制页面进 excel 在进行解析,如果这样的做话,费时费力。我想诸位页注意到了表格下方有分页,那么肯定是有通过 ajax 和后台进行通信的,通过观察可以发现如下接口,数据交互的结果如下图所示:

Python数据分析之PMI数据图形展示

#采购经理人指数
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)

最终获取到的数据如下图所示:

Python数据分析之PMI数据图形展示

pmi 图形绘制

在绘制图形之前,需要先对数据进行处理:

  • 1 数据需要进行加工,提取需要展示的数据,而后数据的格式需要转换。

  • 2 在数据处理时,还是按照制造业和非制造业、时间的列表来获取数据。

  • 3 依旧使用 np.asarray 创建数据,进行图形绘制的准备工作。

按照以上的观点,数据处理的代码如下图所示:

Python数据分析之PMI数据图形展示

对于图形的绘制,有以下几点:

  • 1 图形中需要展示制造业和非制造业的数据情况,同时展示图例进行标识。

  • 2 设置指标为 50 和 40 水平线,用于设置标准对比线型。

最后,经过这些编码,得到最终的制造业和非制造业指数对比图形如下:

Python数据分析之PMI数据图形展示

来源:https://juejin.cn/post/7082787341508542500

标签:Python,数据,分析,PMI
0
投稿

猜你喜欢

  • 利用Python的Django框架中的ORM建立查询API

    2023-11-15 10:06:03
  • Python代码块批量添加Tab缩进的方法

    2022-10-10 16:41:39
  • 谈谈图片如何影响转换率

    2011-08-10 19:14:08
  • TensorFlow变量管理详解

    2023-11-23 07:11:18
  • pytest自动化测试中的fixture的声明和调用

    2022-08-24 00:28:10
  • Python数据正态性检验实现过程

    2022-07-10 15:46:14
  • python numpy 一维数组转变为多维数组的实例

    2023-03-19 23:30:10
  • Swin Transformer图像处理深度学习模型

    2022-01-16 22:32:08
  • Pytorch中retain_graph的坑及解决

    2022-12-20 16:21:09
  • 从"..."看中国的UI设计界的粗糙

    2007-11-21 19:28:00
  • Keras保存模型并载入模型继续训练的实现

    2021-08-12 23:23:32
  • Python去掉字符串中空格的方法

    2021-12-09 14:23:07
  • 47个惊人的CSS3动画演示

    2010-02-07 12:32:00
  • tensorflow使用神经网络实现mnist分类

    2023-07-05 10:19:13
  • 详解Python装饰器之@property

    2021-06-25 15:55:45
  • 深入解析Python编程中JSON模块的使用

    2022-11-30 00:21:27
  • MySQL查询优化

    2009-03-09 14:41:00
  • 如何使用SQL Server中的客户端配置工具

    2009-01-13 14:05:00
  • Python3安装Pymongo详细步骤

    2021-06-09 10:27:20
  • python自动化unittest yaml使用过程解析

    2023-05-06 11:48:15
  • asp之家 网络编程 m.aspxhome.com