Python數(shù)據(jù)分析之繪制m1-m2數(shù)據(jù)
前言
前文講述了ppi-cpi的圖形繪制,在本文中繼續(xù)分享另外一個與經(jīng)濟息息相關的貨幣數(shù)據(jù)指標M0-M1-M2
,在這里還是采用爬蟲的方式獲取數(shù)據(jù),然后通過matplotlib
;繪圖工具將nbspm0-m1-m2
;數(shù)據(jù)同框展示,最后通過顏色填充來表示其中的差額部分。對于新手來講,會學習到;python
的基礎知識、爬蟲以及圖形繪制的知識。
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ù)獲取,就需要找一個權威的網(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,這樣的話不符合程序員的氣質。我想諸位頁注意到了表格下方有分頁,那么肯定是有通過 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ù)的格式需要轉換。
- 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 貨幣增速對比&差異圖:
總結
在本文中,介紹了簡單的;python
;爬蟲,并使用;numpy
;進行了簡單的數(shù)據(jù)處理,最終使用;matplotlib
;進行圖形繪制,實現(xiàn)了直觀的方式展示貨幣供應量的增速圖形。使用接口的方式獲取數(shù)據(jù)可以隨時獲取數(shù)據(jù)更新重新繪制圖形,省去了數(shù)據(jù)重新抓取的步驟。
到此這篇關于Python數(shù)據(jù)分析之繪制m1-m2數(shù)據(jù)的文章就介紹到這了,更多相關Python;m1-m2繪制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于Django的樂觀鎖與悲觀鎖解決訂單并發(fā)問題詳解
這篇文章主要介紹了基于Django的樂觀鎖與悲觀鎖解決訂單并發(fā)問題詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07Python基礎之教你怎么在M1系統(tǒng)上使用pandas
這篇文章主要介紹了Python基礎之教你怎么在M1系統(tǒng)上使用pandas,文中有非常詳細的代碼示例,對正在學習python基礎的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05使用 pytorch 創(chuàng)建神經(jīng)網(wǎng)絡擬合sin函數(shù)的實現(xiàn)
這篇文章主要介紹了使用 pytorch 創(chuàng)建神經(jīng)網(wǎng)絡擬合sin函數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02