百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

「数据」全国 40城 5000+ 地铁站点数据分析实战——这盛世如您所愿

toyiye 2024-06-21 12:20 10 浏览 0 评论

今天这篇文章,是在前两篇文章的基础上进行的后续分析,也算是对地铁站点系列的一个小总结

目的也很明确:通过对爬取到的 40 个已开通地铁的城市,共计 5000+ 地铁站点进行数据分析。

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

最后,在文末也给出了更深入的分析角度,感兴趣的同学可以参考

以下是正文:

数据清洗

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

所以,第一件事,就是对这些重复数据的剔除。

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

一共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)

对应的结果如下:



整体城市分析

绘图和分析的代码重复性比较高,只列举部分,具体可以查看源码

先来看一下 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 条



针对TOP城市分析

整体分析之后,可以针对性地对TOP城市进行分析

本来打算只针对北上广深做进一步分析,但是突然拔尖的成都让我很感兴趣,于是决定一起分析了

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

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

找出四站换乘的站点:

分别是:深圳的车公庙站,上海的世纪大道、龙阳路站,其中龙阳路站是2号线、7号线、16号线和磁悬浮线四站换乘

另外,除了这五个城市可能还有其他四站换乘站点的城市,一起来看一看:

四站换乘的地铁站点还有:南京的南京南站,大连的开发区站

其中大连的开发区站并不能算做真实意义上的4站换乘,看图就知:



针对具体城市分析

北上广深成 五大城市分别进行深度分析

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

其中,朝阳区地铁站点数量为82,海淀区地铁站点数量为63

顺义区、石景山区、门头沟区、广阳区地铁站点数量较少,地铁能辐射到的区域较少。



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

其中,浦江新区地铁站点数量为114,遥遥领先其他各区。

第二名的闵行区地铁站点数量为46,崇明区只有1个地铁站点,区域被辐射到的区域较少。

浦江新区站点多的原因主要是因为面积大,网上找了一张图区域行政划分图,长这样:



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

其中,天河区、白云区、黄埔区的地铁站点数量依次为 40、35、31,基本分布很均匀

从化区的地铁站点数量最少,地铁能辐射到的区域较少。



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

其中,福田区、南山区的地铁站点数量分别为:54和49,领先其他各区

盐田区站点数量较少,应该是新开通的8号线。



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

其中,双流区、武侯区、金牛区的地铁站点数量分别为:61、52和40,遥遥领先其他各区

没有想到的是,成都的地铁站点比深圳多,而且成都的区域聚集效应更明显。



城市地图可视化

最后,通过 excel 的三维地图再来看看上面5个城市的聚集效应到底如何

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

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



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

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



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

广州的交通现在辐射的已经很多了,像图中左下角的广佛线连接佛山,正下角的连接东莞,甚至以后会直接和深圳用轻轨连起来等,交通枢纽位置明显。

但是同样它的整体聚集效应也比较明显,通过柱子的高度就能看出来。



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

深圳的核心区域面积比较小,导致其能辐射的区域有限,对应的只能往上半图辐射连接东莞,右上角辐射连接惠州。

这也正是站点数量被成都挤下去的原因

深圳主要是两个核心区:红色的福田区和亮黄色的南山区,中心区域分布比较均匀

大胆预测一下:按照深圳的发展速度,上半张图大概率会崛起



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

成都是一个我没想到的城市,没想到它的交通会排在深圳前面,看图就能得出这得益于它的区域位置优越。

成都基本上各条线路已经辐射开了,后面可能会形成一个大的外部环线,其实,类似的城市还有一个,不知道大家能不能联想到?



最后,在上述分析的基础上,你还可以通过以下角度进行更深入的分析

  • 通过客流量数据,结合地铁站点进行日内用户轨迹分析
  • 通过租房数据,结合距离进行房价的进一步探索
  • 通过地产数据,结合地铁站点进行价值分析

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码