Python數據可視化:25年GDP之變

  • 2019 年 10 月 8 日
  • 筆記

作者 | 小F

來源 | 法納斯特

說實話,這一期起的有點標題黨了。

用到的Python知識並不多,只是利用Python對數據進行規整。

最多的應該是用大佬造的輪子,基於D3.js的數據可視化項目。

附上大佬的GitHub地址,有興趣的小夥伴可以自行去圍觀。

https://github.com/Jannchie/Historical-ranking-data-visualization-based-on-d3.js

最後我利用大佬造的輪子,成功實現了25年間各省市GDP數據的可視化。

於是乎,你不就對各省市的GDP了解的一清二楚。

數據來源來自國家統計局。

附上相關鏈接,其實裡面還有好多其他的數據,非常適合拿去練手。

http://data.stats.gov.cn/easyquery.htm?cn=E0103

本次的GDP數據如下,為各地區生產總值。

時間是1993年-2017年,共25年。

網站提供CSV文件下載,但是還是需要規整一下數據。

因為大佬造的輪子對數據有要求。

同時還需要注意一下編碼問題,這裡的CSV文件需要用gbk編碼。

下面是從統計局下載下來的CSV數據。

我偷了個懶,直接就先在表格里刪除了前三行,如下。

接下來便是用Python對數據進行規整,程式碼如下。

import pandas as pd    # 讀取數據  df = pd.read_csv('gdp.csv', encoding='utf-8')  (names, values, dates) = ([], [], [])  # 記得去除地區這個列名,遍歷年份  for i in df.columns[1:]:      for j, k in zip(df[i], df['地區']):          # 輸出地區、GDP值、年份數據          print(k, j, i)          names.append(k)          values.append(int(j))          dates.append(int(i.replace('年', '')))  # 生成DateFrame格式的數據  data = {      'name': names,      'type': '',      'value': values,      'date': dates  }  # 將數據轉存為新的CSV文件  frame = pd.DataFrame(data)  # 設置編碼格式,避免亂碼  frame.to_csv('gdp_last.csv', encoding='utf_8_sig')

獲取的CSV數據如下。

和大佬造的輪子所需數據格式是一樣的,這裡我不設置類型。

接下來就是克隆大佬的項目程式碼到你的電腦里。

這裡以前我只是上傳程式碼,沒有去下載項目程式碼,所以不是很清楚怎麼下載下來。

經過這次算是學會了。

首先安裝一下GitHub Desktop,然後用你的GitHub帳號登陸它。

配置一下你的用戶名及綁定郵箱,便能克隆其他人的項目到你的本地。

然後打開src目錄下的bargraph.html,瀏覽器就會打開一個網頁。

在網頁里點擊選擇文件,把文件上傳上去就成功了。

網頁上就會有動態影片出現,如下。

是不是發現很有意思,哈哈。

這裡我根據自己個人需要,對大佬的輪子進行了修改。

修改的地方是在src目錄下的config.js文件里。

主要是一些小細節的修改,比如最多顯示的條目數,標題,以及條目的顏色。

修改的文件及我的CSV文件都已經上傳到GitHub上頭了。