Python數(shù)據(jù)分析之繪制m1-m2數(shù)據(jù)
前言
前文講述了ppi-cpi的圖形繪制,在本文中繼續(xù)分享另外一個與經(jīng)濟息息相關(guān)的貨幣數(shù)據(jù)指標M0-M1-M2,在這里還是采用爬蟲的方式獲取數(shù)據(jù),然后通過matplotlib;繪圖工具將nbspm0-m1-m2;數(shù)據(jù)同框展示,最后通過顏色填充來表示其中的差額部分。對于新手來講,會學習到;python的基礎(chǔ)知識、爬蟲以及圖形繪制的知識。
m0-m1-m2 數(shù)據(jù)獲取
在獲取數(shù)據(jù)之前,先講述一下數(shù)據(jù)背后的含義:
- 1 m0,即流通中的現(xiàn)金
- 2 m1,即狹義貨幣,m1 = m0 + 活期存款
- 3 m2,即廣義貨幣,m2 = m1 + 居民儲蓄存款+單位定期存款+單位其他存款+證券公司客戶保證金
m1 是貨幣流動性和經(jīng)濟活躍的指標,m1 增加代表投資者信信心增強,經(jīng)濟的活躍度提高。 m1 增速大于 m2 意味著居民和企業(yè)的交易活躍,經(jīng)濟個體盈利能力強,景氣度上升。 如果 m1 小于 m2 則經(jīng)濟景氣度下降,盈利能力下降。
既然是數(shù)據(jù)獲取,就需要找一個權(quán)威的網(wǎng)站獲取數(shù)據(jù),這里小編采用東方財富網(wǎng)的數(shù)據(jù),這里直接給出頁面的訪問地址:
# 貨幣供應量數(shù)據(jù)訪問地址 https://data.eastmoney.com/cjsj/hbgyl.html
貨幣供應量的數(shù)據(jù)來源如下圖所示,這里只獲取月份數(shù)據(jù)和同比增長即可,絕對值在這里就不去獲取了。

既然知道了貨幣供應量數(shù)據(jù)的來源,怎么獲取數(shù)據(jù)呢,是不是要復制頁面進 excel 在進行解析,no,這樣的話不符合程序員的氣質(zhì)。我想諸位頁注意到了表格下方有分頁,那么肯定是有通過 ajax 和后臺進行通信的,通過觀察可以發(fā)現(xiàn)如下接口,可以獲取我們想要的數(shù)據(jù):
# 貨幣供應量接口 https://datainterface.eastmoney.com/EM_DataCenter/JS.aspx?type=GJZB&sty=ZGZB&p=1&ps=200&mkt=11 # 這里也同樣貼了上一篇中 ppi 和 cpi 的接口,會發(fā)現(xiàn)都是一樣的,只不過mkt的參數(shù)不一樣 # ppi 數(shù)據(jù)和cpi 數(shù)據(jù) 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
至于數(shù)據(jù)的獲取,還是使用原理的方式進行操作,使用 python 抓取數(shù)據(jù),這里采用 requests 來獲取數(shù)據(jù):
body = requests.get(req_url).text
body = body.replace("(", "").replace(")", "")
data_list = body.split("","")
# 定義數(shù)據(jù)
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
# 時間數(shù)據(jù)
date_list.append(date)
# 數(shù)據(jù)操作存儲
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-環(huán)比增速
# 4-m1總量 5-m1同比增速 6-環(huán)比增速
# 7-m0總量 8-m0同比增速 9-環(huán)比增速
print(node)最終獲取到的數(shù)據(jù)如下圖所示:

ppi-cpi 圖形繪制
在繪制圖形之前,需要先對數(shù)據(jù)進行處理:
- 1 數(shù)據(jù)需要進行加工,提取需要展示的數(shù)據(jù),日期和同比數(shù)據(jù),數(shù)據(jù)的格式需要轉(zhuǎn)換。
- 2 在數(shù)據(jù)處理時,還是按照 m0 m1 m2 和時間的列表來獲取數(shù)據(jù)。
- 3 依舊使用 np.asarray 創(chuàng)建數(shù)據(jù),進行圖形繪制的準備工作。
按照以上的觀點,數(shù)據(jù)處理的代碼如下圖所示:

對于圖形的繪制,有以下幾點:
- 1 圖形中需要展示 m1 和 m2 的數(shù)據(jù)情況,同時展示圖例進行標識。
- 2 能夠體現(xiàn)出數(shù)據(jù)的差值區(qū)間和范圍,差值部分進行顏色填充并予以區(qū)分。
最后,經(jīng)過這些編碼,得到了最終的貨幣供應量增速對比圖形如下:
m0-m1-m2 貨幣增速對比圖:

m1-m2 貨幣增速對比&差異圖:

總結(jié)
在本文中,介紹了簡單的;python;爬蟲,并使用;numpy;進行了簡單的數(shù)據(jù)處理,最終使用;matplotlib;進行圖形繪制,實現(xiàn)了直觀的方式展示貨幣供應量的增速圖形。使用接口的方式獲取數(shù)據(jù)可以隨時獲取數(shù)據(jù)更新重新繪制圖形,省去了數(shù)據(jù)重新抓取的步驟。
到此這篇關(guān)于Python數(shù)據(jù)分析之繪制m1-m2數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python;m1-m2繪制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3 適合初學者學習的銀行賬戶登錄系統(tǒng)實例
下面小編就為大家?guī)硪黄狿ython3 適合初學者學習的銀行賬戶登錄系統(tǒng)實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
pytorch中Transformer進行中英文翻譯訓練的實現(xiàn)
本文主要介紹了pytorch中Transformer進行中英文翻譯訓練的實現(xiàn),詳細闡述了使用PyTorch實現(xiàn)Transformer模型的代碼實現(xiàn)和訓練過程,具有一定參考價值,感興趣的可以了解一下2023-08-08
pandas.DataFrame.to_json按行轉(zhuǎn)json的方法
今天小編就為大家分享一篇pandas.DataFrame.to_json按行轉(zhuǎn)json的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06
Python中內(nèi)置的日志模塊logging用法詳解
Python的logging模塊提供了記錄程序運行情況的日志功能,類似于Apache的log4j,很好很強大,這里我們就來看一下Python中內(nèi)置的日志模塊logging用法詳解2016-07-07
python爬蟲爬取淘寶商品信息(selenum+phontomjs)
這篇文章主要為大家詳細介紹了python爬蟲爬取淘寶商品信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02

