python绘制m1-m2数据怎样做,具体步骤是什么
Admin 2022-09-21 群英技术资讯 1318 次浏览
今天小编跟大家讲解下有关“python绘制m1-m2数据怎样做,具体步骤是什么”的内容 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了相关资料,希望小伙伴们看了有所帮助。M0-M1-M2,在这里还是采用爬虫的方式获取数据,然后通过matplotlib;绘图工具将nbspm0-m1-m2;数据同框展示,最后通过颜色填充来表示其中的差额部分。对于新手来讲,会学习到;python的基础知识、爬虫以及图形绘制的知识。在获取数据之前,先讲述一下数据背后的含义:
m1 是货币流动性和经济活跃的指标,m1 增加代表投资者信信心增强,经济的活跃度提高。 m1 增速大于 m2 意味着居民和企业的交易活跃,经济个体盈利能力强,景气度上升。 如果 m1 小于 m2 则经济景气度下降,盈利能力下降。
既然是数据获取,就需要找一个权威的网站获取数据,这里小编采用东方财富网的数据,这里直接给出页面的访问地址:
# 货币供应量数据访问地址 https://data.eastmoney.com/cjsj/hbgyl.html
货币供应量的数据来源如下图所示,这里只获取月份数据和同比增长即可,绝对值在这里就不去获取了。

既然知道了货币供应量数据的来源,怎么获取数据呢,是不是要复制页面进 excel 在进行解析,no,这样的话不符合程序员的气质。我想诸位页注意到了表格下方有分页,那么肯定是有通过 ajax 和后台进行通信的,通过观察可以发现如下接口,可以获取我们想要的数据:
# 货币供应量接口 https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=200&mkt=11 # 这里也同样贴了上一篇中 ppi 和 cpi 的接口,会发现都是一样的,只不过mkt的参数不一样 # 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, m0_list, m1_list, m2_list = [], [], [], []
for node in data_list:
node = node.replace("]", "").replace("[", "").replace("\"", "")
arr_list = node.split(",")
date = arr_list[0]
if date < "2011-01-01":
continue
# 时间数据
date_list.append(date)
# 数据操作存储
m2_list.append(float(arr_list[2]))
m1_list.append(float(arr_list[5]))
m0_list.append(float(arr_list[8]))
# 0 时间
# 1-m2总量 2-m2同比增速 3-环比增速
# 4-m1总量 5-m1同比增速 6-环比增速
# 7-m0总量 8-m0同比增速 9-环比增速
print(node)
最终获取到的数据如下图所示:

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

对于图形的绘制,有以下几点:
最后,经过这些编码,得到了最终的货币供应量增速对比图形如下:
m0-m1-m2 货币增速对比图:

m1-m2 货币增速对比&差异图:

在本文中,介绍了简单的;python;爬虫,并使用;numpy;进行了简单的数据处理,最终使用;matplotlib;进行图形绘制,实现了直观的方式展示货币供应量的增速图形。使用接口的方式获取数据可以随时获取数据更新重新绘制图形,省去了数据重新抓取的步骤。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便使用。
这篇博客将介绍Canny边缘检测的概念,并利用cv2.Canny()实现边缘检测,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
定义匿名函数指一类无须定义标识符的函数或子程序。Python用lambda语法定义匿名函数,只需用表达式而无需申明。lambda语法的定义如下:lamb
这篇文章主要给大家分享了python内存泄漏排查技巧总结,工作过程中服务难免遇到内存泄漏问题,下面文章就给大家总结一些排查下技巧,具有一定的参考价值,需要的朋友可以参考一下
这篇文章主要为大家详细介绍了Python基础语法中变量与数据类型的用法,文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的可以了解一下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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备09006778号 域名注册商资质 粤 D3.1-20240008