Python数据分析之绘制ppi-cpi剪刀差图形

 更新时间:2022年05月06日 10:12:32   作者:​ 斜月   ​  
这篇文章主要介绍了Python数据分析之绘制ppi-cpi剪刀差图形,ppi-cp剪刀差是通过这个指标可以了解当前的经济运行状况,下文更多详细内容介绍需要的小伙伴可以参考一下

前言

ppi-cpi 剪刀差大家可能都听说过,通过这个指标可以了解当前的经济运行状况,小编为了学习 python 的图形绘制,通过爬虫的方式获取到 ppi 和 cpi 的历史数据,然后通过 matplotlib 绘图工具将 ppi 数据和 cpi 数据同框展示,最后通过颜色填充来表示其中的差额部分。对于新手来讲,会学习到 python 的基础知识、爬虫以及图形绘制的知识。

ppi 和 cpi 数据获取

既然是数据获取,就需要找一个权威的网站获取 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

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

ppi-cpi 图形绘制

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

  • 1 数据需要进行加工,提取需要展示的数据,日期和同比数据,数据的格式需要转换。
  • 2 cpi 和 ppi 从时间上来讲长度不一致,需要既然要展示,就需要放在同一段时间内进行比较。
  • 3 cpi 和 ppi 数据已经有 20 多年了,从实际需要的角度出发,这里只展示 10 年的数据即可。

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

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

  • 1 图形中需要展示 cpi 和 ppi 的数据情况,同时展示图例进行标识。
  • 2 设置纵向和横向的数据参考线。
  • 3 能够体现出数据的差值区间和范围,差值部分进行颜色填充并予以区分。 针对以上几点,绘制图形的代码如下图所示:

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

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

总结

文章介绍了简单的 python 爬虫,并使用 numpy 进行了简单的数据处理,最终使用 matplotlib 进行图形绘制,实现了直观的方式展示 cpi-ppi 的剪刀差图形。使用接口的方式获取数据能够随时随地的跟据数据的更新重新绘制图形,省去了数据重新抓取的步骤。

到此这篇关于Python数据分析之绘制ppi-cpi剪刀差图形的文章就介绍到这了,更多相关Python绘制ppi-cpi图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pandas中merge函数的用法

    pandas中merge函数的用法

    merge()函数是Pandas中用于合并两个DataFrame的函数,本文主要介绍了pandas中merge函数的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Python 调用API发送邮件

    Python 调用API发送邮件

    这篇文章主要介绍了Python 调用API发送邮件的方法,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • Python Struct库之pack和unpack举例详解

    Python Struct库之pack和unpack举例详解

    这篇文章主要给大家介绍了关于Python Struct库之pack和unpack的相关资料,pack和unpack在处理二进制流中比较常用的封包、解包格式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • Python基于SSE实现流式模式

    Python基于SSE实现流式模式

    流式模式,顾名思义,即通过流的方式持续发送数据而不是一次性全部返回,与传统的 HTTP 请求模式不同,流式模式的特点在于服务器可以在连接打开后持续地向客户端发送数据,本文给大家介绍了Python如何基于SSE实现流式模式,需要的朋友可以参考下
    2024-11-11
  • Python Math数学函数常数幂和对数基础应用实例

    Python Math数学函数常数幂和对数基础应用实例

    Python中的math模块是数学运算的重要工具,提供了丰富的数学函数和常数,本文将深入探讨math模块的功能和用法,使您能够更好地利用Python进行数学运算
    2023-12-12
  • python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法

    python报错TypeError: ‘NoneType‘ object is not subscriptable的解决

    这篇文章主要给大家介绍了关于python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • django模型中的字段和model名显示为中文小技巧分享

    django模型中的字段和model名显示为中文小技巧分享

    这里给大家分享2个可以让django模型中的字段和model名显示为中文的小技巧,非常的简单实用,给需要的小伙伴参考下。
    2014-11-11
  • python psutil库的使用示例

    python psutil库的使用示例

    这篇文章主要介绍了python psutil库的使用示例,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-03-03
  • Python实现双轴组合图表柱状图和折线图的具体流程

    Python实现双轴组合图表柱状图和折线图的具体流程

    这篇文章主要介绍了Python双轴组合图表柱状图+折线图,Python绘制双轴组合的关键在plt库的twinx()函数,具体实例代码跟随小编一起看看吧
    2021-08-08
  • python快速排序的实现及运行时间比较

    python快速排序的实现及运行时间比较

    这篇文章主要介绍了python快速排序的实现及运行时间比较,本文通过两种方法给大家介绍,大家可以根据自己需要选择适合自己的方法,对python实现快速排序相关知识感兴趣的朋友一起看看吧
    2019-11-11

最新评论