利用Python对全国 40城 5000+ 地铁站点进行数据分析实战

俊红的数据分析之路

共 3319字,需浏览 7分钟

 ·

2021-04-28 08:34

今天这篇文章,是通过对爬取到的 40 个已开通地铁的城市,共计 5000+ 地铁站点进行数据分析。


具体的分析流程主要是通过 数据清洗、整体性分析、TOP城市分析 等方面展开,分析方式主要是图表,包括seaborn、excel 三维地图等可视化方式实现。

01

数据清洗

首先有一点常识需要普及:在部分城市是存在环线,或者地铁一期、二期等情况,对应的地铁站点会多次出现,在数据中表现为重复值,所以,第一件事,就是对这些重复数据的剔除。

先来看下整体数据的情况:


一共40个城市对应的 5001 条地铁站点数据。

对应的直接剔除完全重复的数据,代码如下:
"""删除完全重复的站点"""df_data_1 = df_data.drop_duplicates()df_data_1
删除完成后保留了 4859 条数据。

另外,有部分站点数据地理位置不在对应的城市,通过城市去查找会出现空值,比如说下面这些:


一共 51 个数据为空,香港数据为空的较多,其他城市只有较少数,可以删除这些数据、也可以手动补充一下数据删除之后最终剩下 4808 条数据,表示有 4808 个地铁站点,每个站点都有 10 个详细的字段。

对于一个城市的地铁站点来说,有一个比较重要的指标:换乘站点。如果换乘站点比较多,说明这个城市的交通相对完善,如果三站、四站换乘站点多,说明这个城市的交通比较便利,对应的,可以通过下面这种方式计算换乘站点个数:
df_data_2 = df_data_notnull.copy()# 计算站点的换乘个数df_address_cnt = df_data_2.groupby(['城市名称', '站点名称']).agg({'拼音名称':'count'}).reset_index().rename(columns={'拼音名称': '换乘站点'})df_data_3 = df_data_2.merge(df_address_cnt, on=['城市名称', '站点名称'], how='left')df_data_3.sample(5)

对应的结果如下:


02

整体城市分析

绘图和分析的代码重复性比较高,只列举部分,具体可以查看源码
先来看一下 40城 的地铁站点数量分布,代码如下:
df_data_eda = df_data_3.copy()"""查看城市的地铁站点数量"""df_city_cnt = df_data_eda.groupby('城市名称').agg({'站点名称':pd.Series.nunique}).reset_index().rename(columns={'站点名称': 'metro_cnt'})# 设置标题plt.figure(figsize=(20, 8))plt.title('全国40城市地铁站点数量分布')ax = sns.barplot(data=df_city_cnt, x='城市名称', y='metro_cnt')plt.ylabel('地铁站点数量')# 显示数据的具体数值for x, y in zip(range(0, len(df_city_cnt['城市名称'].index.tolist())), df_city_cnt['metro_cnt'].values.tolist()):    ax.text(x-0.3, y+0.5, '%d' % y, color='black')plt.show()

绘图显示如下:


可以看到,地铁站点最多的城市是 上海,数量是380;其次分别是:北京、成都、广州、深圳、武汉、重庆、杭州 等城市;成都高于广州与深圳,位列全国第三。

再来看每个城市的地铁线路数量分布:


其中北京的地铁线路最多,达到24条,其次分别是上海、广州、成都、香港、深圳、武汉、重庆等。在北京搬砖的同学应该了解,北京有很多新开通的地铁线路是以地区命名的,而且有的是分南段、北段,这样在统计的时候根据名称自然是会当做很多条线。

像深圳新开通的 8 号线(2号线延长线),高德地图将其归为了 2 号线,所以深圳对应的地铁总线路就只有 10 条,而不是 11 条。

03

针对TOP城市分析

整体分析之后,可以针对性的对TOP城市进行分析。本来打算只针对北上广深做进一步分析,但是突然拔尖的成都让我很感兴趣,于是决定一起分析了。

先来看看 北上广深成 五大城市的换乘站点统计情况:


由图可知,深圳拥有1个四站换乘的站点,上海拥有2个四站换乘的站点。

找出四站换乘的站点:


分别是:深圳的车公庙站,上海的世纪大道、龙阳路站,其中龙阳路站是2号线、7号线、16号线和磁悬浮线四站换乘。外,除了这五个城市可能还有其他四站换乘站点的城市,一起来看一看:


四站换乘的地铁站点还有:南京的南京南站,大连的开发区站,中大连的开发区站并不能算做真实意义上的4站换乘,看图就知:


04

针对具体城市分析

北上广深成五大城市分别进行深度分析,北京市各区域的站点数量进行深度分析,如下:



其中,朝阳区地铁站点数量为82,海淀区地铁站点数量为63,顺义区、石景山区、门头沟区、广阳区地铁站点数量较少,地铁能辐射到的区域较少。

对上海市各区域的站点数量进行深度分析,如下:


其中,浦江新区地铁站点数量为114,遥遥领先其他各区。第二名的闵行区地铁站点数量为46,崇明区只有1个地铁站点,区域被辐射到的区域较少。浦江新区站点多的原因主要是因为面积大,网上找了一张图区域行政划分图,长这样:


对广州市各区域的站点数量进行深度分析,如下:


其中,天河区、白云区、黄埔区的地铁站点数量依次为 40、35、31,基本分布很均匀,从化区的地铁站点数量最少,地铁能辐射到的区域较少。

对深圳市各区域的站点数量进行深度分析,如下:


其中,福田区、南山区的地铁站点数量分别为:54和49,领先其他各区
盐田区站点数量较少,应该是新开通的8号线。

对成都市各区域的站点数量进行深度分析,如下:


其中,双流区、武侯区、金牛区的地铁站点数量分别为:61、52和40,遥遥领先其他各区。没有想到的是,成都的地铁站点比深圳多,而且成都的区域聚集效应更明显。

05

城市地图可视化

最后,通过 excel 的三维地图再来看看上面5个城市的聚集效应到底如何
北京市各区域地铁站点情况三维地图展示:


真的是规规整整,向四面八方进行辐射,圈状的布局非常明显。

上海市各区域地铁站点情况三维地图展示:


上海确实是浦江新区的地铁站点相当多,整体聚集效应比较明显,中间圆心位置地理优势很突出。

广州市各区域地铁站点情况三维地图展示:


广州的交通现在辐射的已经很多了,像图中左下角的广佛线连接佛山,正下角的连接东莞,甚至以后会直接和深圳用轻轨连起来等,交通枢纽位置明显。但是同样它的整体聚集效应也比较明显,通过柱子的高度就能看出来。

深圳市各区域地铁站点情况三维地图展示:


深圳的核心区域面积比较小,导致其能辐射的区域有限,对应的只能往上半图辐射连接东莞,右上角辐射连接惠州。这也正是站点数量被成都挤下去的原因。

深圳主要是两个核心区:红色的福田区和亮黄色的南山区,中心区域分布比较均匀。大胆预测一下:按照深圳的发展速度,上半张图大概率会崛起

成都市各区域地铁站点情况三维地图展示:


成都是一个我没想到的城市,没想到它的交通会排在深圳前面,看图就能得出这得益于它的区域位置优越。成都基本上各条线路已经辐射开了,后面可能会形成一个大的外部环线,其实,类似的城市还有一个,不知道大家能不能联想到?

最后,在上述分析的基础上,你还可以通过以下角度进行更深入的分析:
  • 通过客流量数据,结合地铁站点进行日内用户轨迹分析
  • 通过租房数据,结合距离进行房价的进一步探索
  • 通过地产数据,结合地铁站点进行价值分析

ok,以上就是本节分析的全部内容了。
点分享
点收藏
点点赞
点在看
浏览 207
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报