Python数据可视化:25年GDP之变

说实话,这一期起的有点标题党了。

大邑县ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

用到的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对数据进行规整,代码如下。

 
 
 
 
  1. import pandas as pd 
  2.  
  3. # 读取数据 
  4. df = pd.read_csv('gdp.csv', encoding='utf-8') 
  5. (names, values, dates) = ([], [], []) 
  6. # 记得去除地区这个列名,遍历年份 
  7. for i in df.columns[1:]: 
  8.     for j, k in zip(df[i], df['地区']): 
  9.         # 输出地区、GDP值、年份数据 
  10.         print(k, j, i) 
  11.         names.append(k) 
  12.         values.append(int(j)) 
  13.         dates.append(int(i.replace('年', ''))) 
  14. # 生成DateFrame格式的数据 
  15. data = { 
  16.     'name': names, 
  17.     'type': '', 
  18.     'value': values, 
  19.     'date': dates 
  20. # 将数据转存为新的CSV文件 
  21. frame = pd.DataFrame(data) 
  22. # 设置编码格式,避免乱码 
  23. frame.to_csv('gdp_last.csv', encoding='utf_8_sig') 

获取的CSV数据如下。

和大佬造的轮子所需数据格式是一样的,这里我不设置类型。

接下来就是克隆大佬的项目代码到你的计算机里。

这里以前我只是上传代码,没有去下载项目代码,所以不是很清楚怎么下载下来。

经过这次算是学会了。

首先安装一下GitHub Desktop,然后用你的GitHub账号登陆它。

配置一下你的用户名及绑定邮箱,便能克隆其他人的项目到你的本地。

然后打开src目录下的bargraph.html,浏览器就会打开一个网页。

在网页里点击选择文件,把文件上传上去就成功了。

网页上就会有动态视频出现,如下。

是不是发现很有意思,哈哈。

这里我根据自己个人需要,对大佬的轮子进行了修改。

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

主要是一些小细节的修改,比如最多显示的条目数,标题,以及条目的颜色。

修改的文件及我的CSV文件都已经上传到GitHub上头了。

有兴趣的小伙伴可以自行去围观,通过阅读原文即可直接到我的GitHub。

网站题目:Python数据可视化:25年GDP之变
文章源于:http://www.shufengxianlan.com/qtweb/news0/511250.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联