Python中绘制实现PMI数据图形展示的方法是什么
Admin 2022-09-19 群英技术资讯 917 次浏览
本篇内容介绍了“Python中绘制实现PMI数据图形展示的方法是什么”的有关知识,在实际项目的操作过程或是学习过程中,不少人都会遇到这样的问题,接下来就让小编带大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PMI,在本文中还是采用爬虫的方式获取数据,然后通过matplotlib绘图工具将PMI逐年数据进行展示。对于新手来讲,会学习到python的基础知识、爬虫以及图形绘制的知识。在获取数据之前,先讲述一下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)
最终获取到的数据如下图所示:

在绘制图形之前,需要先对数据进行处理:
按照以上的观点,数据处理的代码如下图所示:

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

文章介绍了简单的python爬虫,并使用numpy进行了简单的数据处理,最终使用matplotlib进行图形绘制,实现了直观的方式展示制造业和非制造业指数图形。使用接口的方式获取数据可以随时获取数据更新重新绘制图形,省去了数据重新抓取的步骤。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了Python的字典,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
缓存是一种优化技术,可以在应用程序中使用它来将最近或经常使用的数据保存在内存中,通过这种方式来访问数据的速度比直接读取磁盘文件的高很多
对于扑克牌21点相信是不少朋友的童年记忆吧,那么我们如果想要用python来实现这样一个小游戏,我们要怎样做呢?下面小编就给大家分享怎样用python写一个扑克牌21点小游戏的代码,感谢的朋友可以参考看看。
大家好,本篇文章主要讲的是关于Python中的元组介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
最近在看Python基础教程(第三版),是之前python课的课本,但是之前没读过,虽然python一直用得挺多,但重新读读收获还挺大。这里做个笔记。先是迭代器是什么并简单实现一个迭代器,然后是实现了一些range()。迭代器是像循环一样重复很多次,但不会像列表那样一次性全部生成,而是需要用...
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008