「这是我参与11月更文挑战的第27天,活动详情查看:2021最后一次更文挑战」。
前言
利用Python实现中国地铁数据可视化。废话不多说。
让我们愉快地开始吧~
开发工具
Python版本: 3.6.4
相关模块:
requests模块;
wordcloud模块;
pandas模块;
numpy模块;
jieba模块;
pyecharts模块;
matplotlib模块;
以及一些Python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
本次通过对地铁线路数据的获取,对城市分布情况数据进行可视化分析。
分析获取
地铁信息获取从高德地图上获取。
上面主要获取城市的「id」,「cityname」及「名称」。
用于拼接请求网址,进而获取地铁线路的具体信息。
找到请求信息,获取各个城市的地铁线路以及线路中站点详情。
获取数据
部分代码
1 | python复制代码import json |
获取数据结果展示
3541个地铁站点
数据可视化
先对数据进行清洗,去除重复的换乘站信息。
1 | python复制代码from wordcloud import WordCloud, ImageColorGenerator |
通过城市及地铁线路进行分组,得到全国地铁线路总数。
183条地铁线路
1 | python复制代码def create_map(df): |
已经开通地铁的城市数据,还有各个城市的地铁线路数。
32个城市开通地铁
城市分布情况
大部分都是省会城市,还有个别经济实力强的城市。
线路数量分布情况
可以看到大部分还是在「0-5」这个阶段的,当然最少为1条线。
1 | python复制代码# 哪个城市哪条线路地铁站最多 |
哪个城市哪条线路地铁站最多
北京10号线第一,重庆3号线第二
去除重复换乘站数据
1 | python复制代码# 去除重复换乘站的地铁数据 |
包含3034个地铁站
减少了近400个地铁站
接下来看一下哪个城市地铁站最多
1 | python复制代码# 统计每个城市包含地铁站数(已去除重复换乘站) |
武汉居然有那么多地铁站
实现一下新周刊中的操作,生成地铁名词云
1 | python复制代码def create_wordcloud(df): |
展示词云图
本文转载自: 掘金