Python数据分析之PMI数据图形展示
前言
前文讲述了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 水平线,用于设置标准对比线型。
最后,经过这些编码,得到最终的制造业和非制造业指数对比图形如下:
总结
文章介绍了简单的python
爬虫,并使用numpy
进行了简单的数据处理,最终使用matplotlib
进行图形绘制,实现了直观的方式展示制造业和非制造业指数图形。使用接口的方式获取数据可以随时获取数据更新重新绘制图形,省去了数据重新抓取的步骤。
到此这篇关于Python数据分析之PMI数据图形展示的文章就介绍到这了,更多相关Python PMI 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MacOS安装python报错"zsh: command not found:python"的
这篇文章主要给大家介绍了关于MacOS安装python报错"zsh: command not found:python"的解决方法,文中将解决的办法介绍的非常详细,需要的朋友可以参考下2023-02-02利用Python pandas对Excel进行合并的方法示例
这篇文章主要给大家介绍了关于利用Python pandas对Excel进行合并的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11python报错unexpected indent的解决办法
这篇文章主要给大家介绍了关于python报错unexpected indent的解决办法,在python中出现"Unexpected indent"可能是代码的缩进出现问题,需要的朋友可以参考下2023-06-06
最新评论