python中ppi-cpi剪刀差图形绘制怎样实现
Admin 2022-09-21 群英技术资讯 1349 次浏览
这篇文章主要讲解了“python中ppi-cpi剪刀差图形绘制怎样实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中ppi-cpi剪刀差图形绘制怎样实现”吧!ppi-cpi 剪刀差大家可能都听说过,通过这个指标可以了解当前的经济运行状况,小编为了学习 python 的图形绘制,通过爬虫的方式获取到 ppi 和 cpi 的历史数据,然后通过 matplotlib 绘图工具将 ppi 数据和 cpi 数据同框展示,最后通过颜色填充来表示其中的差额部分。对于新手来讲,会学习到 python 的基础知识、爬虫以及图形绘制的知识。
既然是数据获取,就需要找一个权威的网站获取 cpi 和 ppi 的数据,这里小编采用东方财富网的数据,这里直接给出页面的访问地址:
# cpi数据访问地址 https://data.eastmoney.com/cjsj/cpi.html
cpi 的数据来源如下图所示,这里只获取月份数据和全国列中的同比增长即可。

ppi 数据如下所示,这里和 cpi 的数据获取内容类似,只获取月份数据和当月同比增长即可。

既然知道了数据来源,那么怎么获取数据呢,一看到这个表格,是不是要复制页面进 excel 在进行解析,no,这样的话不符合程序员的气质,我注意到了表格下方有分页,那么肯定是有通过 ajax 和后台进行通信的,通过观察小编发现了这两个接口,可以获取我们想要的数据:
# ppi 数据 https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=10&mkt=22 # cpi 数据 https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=10&mkt=19
aspx 后缀的接口看来还是 .net 呀,这里简单分析一下,p=1&ps=10 分页参数就不说了,大家都知道的,重要的是 mkt 参数,表示了数据的分类。其他的参数也不需要关心含义,保留就好。
使用 python 抓取数据,这里采用 requests 来获取数据:
def query_data_list(url):
"""
获取数据
"""
# 去除 https 校验提醒信息 verify=False 忽略对证书的验证
requests.packages.urllib3.disable_warnings()
data = requests.get(url, verify=False).text
# 通过浏览器控制台查看数据返回的结构,进行转换后存入一个 list
data = data.replace("([\"", "").replace("\"])", "")
arr_list = data.split("\",\"")
# 临时打印结果
print(arr_list)
return arr_list
最终获取到的数据如下图所示:

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

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

其余诸如时间过滤以及接口配置和引入的类库如下图所示:

最后,经过这些编码,得到了最终的 cpi-ppi 的剪刀差图形如下:

文章介绍了简单的 python 爬虫,并使用 numpy 进行了简单的数据处理,最终使用 matplotlib 进行图形绘制,实现了直观的方式展示 cpi-ppi 的剪刀差图形。使用接口的方式获取数据能够随时随地的跟据数据的更新重新绘制图形,省去了数据重新抓取的步骤。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了python日期时间处理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
pandas里怎样处理缺失值为NaN的情况?Python中我们用pandas处理数据非常的方便,但是也常会遇到一些问题。例如andas中NaN缺失值的情况,一些新手朋友可能不太清楚怎样解决,下面给大家分享两种处理pandas中NaN缺失值的方法,有需要的朋友可以参考。
这篇文章主要为大家介绍了python神经网络Keras实现LSTM及其参数量详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
enumerate函数用于遍历序列中的元素以及它们的下标:>>>fori,jinenumerate(('a','b','c')): printi,j 0a1b2c>>>fori,jinenumerate([1,2,3]): printi,j 011223>>>fori,jine
这篇文章主要介绍了Python 切片为什么不会索引越界?切片(slice)是 Python 中一种很有特色的特性,在正式开始之前,我们先来从关于切片的相关知识开始介绍,感兴趣的小伙伴一起参考参考呀</P><P>
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
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