0


基于大数据背景下的全国各大城市地铁客流量分析

第一章 项目介绍

项目名称:基于大数据背景下的全国各大城市地铁客流量分析

项目背景:

进入新世纪以来,我国城市的发展规模和人口流入量不断加快,相应的小汽车保有量也随之上升,城市交通拥堵的矛盾也更加突出。轨道交通由于其特殊的地下运行方式,不仅大大缓解了城市地面交通压力,而且对于促进生态保护有着突出的贡献。当前,我国的轨道交通业也迎来了高速发展时期,很多一线城市都已经开通了地铁,并且,地铁网络的覆盖面积越来越广泛,极大地方便了人民群众的出行。

城市交通运力的不足不仅在一定程度上阻碍了城市的可持续发展,同时也严重影响了广大群众的正常的生活与工作。当前,城市的人口流入数量仍在持续,每年近千万的新增城市人口数量,对城市的交通运输体系提出了巨大的挑战。很显然,轨道交通已经成为有效缓解城市交通压力的首选,轨道交通的投入和使用大大缓解了日益突出的交通矛盾,极大程度地方便了人们的出行。同时对于优化城市空间结构,带动区域经济发展,具有重要的促进作用。

项目简介:

在数据大爆发的时代,对数据进行有效的分析,以及研究其应用变得至关重要。 通过分析地铁站的客流量数据,用多样化的图形展示全国各大城市地铁站客流量信息,直观地看到不同线路上的客流情况。为大数据信息化时代提供了高效,准确,便捷的方法,能够更好满足大数据时代的要求,方便社会诸多人群的日常生活。

项目利用python中的numpy、pandas第三方库,实现了数据的快速处理,并对地铁客流量数据进行研究,利用pycharts第三方图形库用可视化的扇形图、直方图、分布图等多样化的图形展示本城市地铁站客流量信息,直观地查看不同线路上的客流情况。可以方便地铁乘客们选择合适的行程计划,节省更多的时间和精力;另一方面对于企业而言,可以让企业直观看到各大城市哪个时段、哪片区域人口流量大,便于企业做出针对性的商业计划;还可以让政府单位更直观准确地了解到轨道交通的实况,更好地完善城市服务。

项目工具与可视化实现方法:

本项目借助excel进行数据清洗和预处理;借助python的第三方库numpy,pandas处理地铁各时段,各路段的客流量数据;借助pycharts这个第三方图形库,将数据分析的结果以可视化的方式呈现出来,更加直观地对收集到数据的实际应用进行研究。

项目预期成果:

借助python分析数据应用研究。为大数据信息化时代提供了高效、准确、便捷的方法,能够更好满足大数据时代的要求,方便社会诸多人群的日常生活。同时随着国内对城市交通模型越来越重视,交通模型队伍的培养与壮大,城市规划的不断稳定,爬取全国各城市地铁客流量进行可视化分析以进一步实现客流预测的精度提升。

项目代码存放地址:

第二章 项目组织与项目计划

组长职责:制定项目计划,确定本次项目分析目标,参与项目实施过程,数据爬取以及项目答辩。

组员税美萍职责:PPT制作、数据整理收集和预处理、报告排版和整理

组员冯嘉乐职责:利用FinBI进行部分数据可视化,参与处理数据。

组员唐业俊职责:收集整理数据,负责部分数据可视化分析。

第一阶段:数据采集

该阶段的的主要任务是:1,确定项目采集目标的数据源对象;2,确定项目分析目标和采集需要的字段名;3,确定数据采集的工具与方法;4,确定数据采集后数据的存储方式和存储介质。

第二阶段:数据预处理

该阶段的的主要任务是:1,将不完整的数据和重复的数据从数据集中去除;2,从数据集中剔除标点符号等数据;3,将日期、数量等从文本型转化为相应的数据类型;4,将数值的单位转化为统一的单位标准。

第三阶段:数据分析

该阶段的的主要任务是:1,通过数据统计,发掘数据的统计特征,如平均值、标准差等;2,通过多维度的数据分析,发掘数据之间的关联关系,维度包括种类、时间、地理等;3,通过多维度的数据分析,发掘特征值和目标值之间的关联关系,如Pearson相关系数矩阵分析、PCA主成分分析、线性回归分析等。

第四阶段:数据可视化

该阶段的的主要任务是:选取合适的图形,使用可视化大屏等数据交互手段展示数据分析过程及数据分析结果,通过文字+图形的方式提炼数据,讲好数据故事。

第五阶段:数据分析报告撰写

该阶段的的主要任务是:通过项目分析报告,展示数据分析项目各阶段的阶段性成果,总结项目经验与不足之处。

第三章 数据采集

3.1 数据采集目标

1.深度出行小程序

2.国家交通运输局

确定的项目采集目标数据字段:

city

城市

year

年份

data

日期

startdate

开始日期

enddate

结束日期

flow/value

具体数值

type

数据采集目录

name

地铁线路名称

month

月份

图 3.1 数据采集目标字段截图

图 3.2数据采集目标字段截图

如图3.1,3.2所示,数据采集整理后的字段名在EXCEL中显示的数值(部分展示)

3.2 数据采集工具与方法

采集工具:Charles手机抓包工具,Python

采集方法:运用Charles链接电脑和手机,手机打开小程序以后,Charles会监视抓取获取http与https访问,然后按照之前学习的Python爬虫正常爬取就可以了。

3.3 数据采集流程

首先下载Charles,这里提供下载网站:Download a Free Trial of Charles • Charles Web Debugging Proxy (charlesproxy.com)

下载完成后,需要获取激活码,这里提供网址:Charles破解工具 (zzzmode.com)

在应用该软件前,需要获取认证书,这里安装过程略过,直接放安装成功的图片。

证书获取以后,检查证书状态,确保没有问题。

链接电脑和手机,确保电脑和手机最好是在同一个网段下。

链接完毕以后,手机打开小程序,Charles会自动抓取小程序的网页请求。

然后我们就可以打开请求页面,定位我们需要爬取的数据。

图 3.2 数据采集流程图

如图3.2所示,成功打开请求页面,获取我们需要爬取的数据。

3.4 数据采集保存

图 3.3 数据采集存储方式

如图3.3所示,我们将采集到的数据保存整理到了EXCEL文件当中,单独分列了8个sheet表,存放不同采集目标的数据。

3.5 本章小结

本章的数据采集部分,难度很大,涉及到很大课外的知识,利用第三方软件Charles爬取数据也是之前我们没有听说过和接触过的知识点,所有的爬取过程和软件的安装只有从零开始,一点点在网上寻找数据案例,并且在实际的运行和链接过程不断试错,出现了很多网上没有提及到的错误,都得到了我们的修改和不断的探索完成。数据爬取的最大难点就在于小程序设有加密,无法获取得到其URL链接,在攻克了这个难点以后,我们的数据爬取工作才算是正式开展,后续的爬取数据的存储和Excel的分表都是比较简单的工作,由于数据来源很干净,爬取的数据也很完整,没有出现乱码和数据丢失的情况。并且在数据爬取的时候,我们提前已经确定好我们所需要的字段,避免采集到其他对我们来说不需要的数据。

第四章 数据预处理

4.1 数据预处理的目标

①清洗噪声数据,去除重复数据以及异常数据,并进行数据校验和纠错;

②对数据进行归一化处理,以消除不同数据单位带来的影响,使得数据更具可比性;

③对数据进行缺失值填充或删除,以保证数据的完整性和准确性;

④对数据进行分段处理,以便后续分析和建模。

4.2 空值与重复值的处理

图4.1数据重复值查找删除

图4.2数据缺失值查找删除

import pandas as pd

import numpy as np

df_excel = pd.read_excel("C:/Users/税美萍/Documents/年日均客流.xlsx")

print('数据量行*列',df_excel.shape)

# df_excel.to_excel('df_excel.xlsx',header=None)#生成文件保存,无表头

print('数据集中存在重复观测的数量:\n',np.sum(df_excel.duplicated())) #F为不存在,T为存在,用sum显示重复的数量

print('删除行重复后的数据\n',df_excel.drop_duplicates(subset=None,keep='first',inplace=None))#excel文件中设定第一和第二行为重复行,结果删除了第二行保留第一行

###df_excel.drop_duplicates(subset=['A','B'],keep='first',inplace=True)

代码中subset对应的值是列名,表示只考虑这两列,将这两列对应值相同的行进行去重。默认值为subset=None表示考虑所有列。

#####keep='first'表示保留第一次出现的重复行,是默认值。keep另外两个取值为"last"和False,分别表示保留最后一次出现的重复行和去除所有重复行。

#####inplace=True表示直接在原来的DataFrame上删除重复项,而默认值False表示生成一个副本

print('数据集列中是否存在缺失值:\n',df_excel.isnull().any()) #F为不存在,T为存在

print('每一行的缺失值个数:',df_excel.isnull().sum(axis=1))

print('每一列的缺失值个数:',df_excel.isnull().sum(axis=0))

df.isnull().sum(axis=0)每一列的缺失值个数

df.isnull().any()则会判断哪些”列”存在缺失值

df=df_excel.dropna()

print(df_excel.dropna(thresh=5))

#axis=0: 删除包含缺失值(NaN)的行

#axis=1: 删除包含缺失值(NaN)的列

# how=‘any’ :要有缺失值(NaN)出现删除

# how=‘all’: 所有的值都缺失(NaN)才删除

还有一个thresh参数

thresh=n,保留至少有 n 个非 NaN 数的行

######drop用法

print(df_excel.drop(['edu'],axis=1))#按照列删除edu这一列

print(df_excel.drop([0],axis=0))#按照行删除0这一行

4.3 标点符号的处理

import re

import openpyxl

def entity():

# 第一步:打开表格

table_src = openpyxl.load_workbook("D:\新建文件夹\地铁客流.xlsx")

# 第二步:选取表单

sheet_src = table_src['数据概览']



# 第一步:打开表格

table_tar = openpyxl.load_workbook("D:\新建文件夹\地铁客流.xlsx")

# 第二步:选取表单

sheet_tar = table_tar['数据概览']



i = 0

segs = []

for cases in list(sheet_src.rows):

    i = i + 1

    print(cases[1].value)

    value = remove_special(cases[1].value)

    if value in segs:

        continue

    segs.append(value)

    append_data(sheet_tar, cases[0].value, value)

    # 保存工作簿

    table_tar.save(" 地铁客流.xlsx")





# 保存工作簿

table_src.save(' 地铁客流.xlsx')

# 关闭工作薄

table_src.close()

# 关闭工作薄

table_tar.close()

def append_data(sheet_sh, col1, col2):

nrows = sheet_sh.max_row  # 获得行数

print("nrows " + str(nrows))

ncolumns = sheet_sh.max_column  # 获得行数

print("ncolumns " + str(ncolumns))

sheet_sh.cell(nrows+1, 1, col1)  # 行,列,值这里是从1开始计数的

sheet_sh.cell(nrows+1, 2, col2)

清除特殊字符

def remove_special(value):

sub_str = re.sub(u"([^\u4e00-\u9fa5\u0030-\u0039\u0041-\u005a\u0061-\u007a])", "", value)

return sub_str

清除英文字符

def remove_eng(value):

sub_str = re.sub(r'[^\u4e00-\u9fa5]', '', value)

return sub_str

if name == 'main':

entity()

4.4 单位标准统一化

将读取的数据转换为适合分析的数据类型:

首先将字符串类型转换为数值类型,使用astype()函数进行强制类型转换;将时间类型字符串转换为datetime类型,使用to_datetime()方法进行转换。

4.5 本章小结

地铁客流量数据预处理是数据挖掘和分析的重要环节,直接影响后续建模的准确性和可靠性;

数据预处理需要基于数据的实际情况,分析出数据中的问题,采取合适的措施进行清洗、归一化、填充和分段等处理;

数据预处理需要运用多种工具和技术,包括数据清洗、数据转换、数据离散化、缺失值处理等方法,根据实际情况灵活应用。

第五章 数据分析与可视化

5.1 数据分析与可视化的目标

地铁客流量数据分析与可视化的目标是要对地铁客流量进行深入分析和可视化展示,以便于相关部门和决策者根据数据进行优化地铁运营、改善用户体验和提升客流效益。具体目标包括:
①了解客流高峰时段和区域,以便于合理调配车辆和站点人员资源,减少拥堵和延误,提高运输效率和安全性。
②分析客流流向和来源,了解不同地区和站点的客流结构和变化趋势,以便于设立客流引导策略和服务规划,提高客流质量和便利性。
③研究客流时间分布和趋势,了解客流的变化模式和规律,预测未来客流量,提前做好应对措施,减少客流压力和风险。
④通过可视化展示,让数据更加直观和易懂,给决策者提供科学依据和明晰思路,促进决策的科学性和精准性。
⑤通过研究分析各个城市的地铁客流量分析,寻求影响地铁客流量大小的相关因素。

5.2 数据统计特征分析与可视化

图5.1过去三个月客流量排名图

图5.2过去三个月客流量随时间变化图

图5.3分流客流统计

图5.4线路、城市、客流量相关分析条形图

图5.5各城市地铁运营里程

5.3 数据分析与可视化

图5.6历史最高客流排名

图5.7全国地铁客流量热力图

针对我们得到的数据,我们首先将历史最高客流进行了排名,得到了各大城市之间的历史最高客流排名图。根据图5.6我们可以看到,“北上广深”这些经济发达的地区,客流量都超千万人次,相比之下,反观其他经济发展稍微滞后的城市,最高客流量都只有几百万人次而已。由此可见,经济发展高的地区,地铁的客流量很大。

其次,针对此分析维度,我们额外增加了热力图来分析历史最高客流的直观展现,在图5.7中,我们可以很直观的看到,沿海城市的客流量普遍大于内陆城市,并且沿海城市的地铁城市数量也多于内陆城市,内陆城市除了个别经济发展比较好的城市如成都、长沙、西安等地,大部分城市都是没有开发地铁线路的,各个城市的经济体量和人口总量以及经济发展等等都是制约地铁在全国所有城市修建的原因,修建地铁的成本、周期都很长,需要很大的经济支持,并且也需要得到中央的批准才能修建。

图5.8客流量排行

这里展现的是采集数据当天的最新客流排行,这里可以看到,在客流排行当中,依旧是“北上广深”稳稳在第一名的位置,并且,可以看到,在这些地区乘坐地铁的人们,往往都需要乘坐较为远的距离,这才会导致,它们的平均里程数很高,在经济发达地区,会存在一个现象,人住在离市中心很远的地方,但是上班的地方又在市中心。所以,人们花在通勤路上的时间和里程数都很大,反观其他经济普通的地区,人流的里程数远远低于这些高经济高发展的地方。

图5.9南京分流客流& 1号线沿线经过站点

图5.10西安分流客流& 2号线沿线经过站点

图5.11深圳分流客流& 5号线沿线经过站点

这里我们具体抽取了3个城市来进行地铁分流的数据分析,即可视化其各城市不同地铁线路的客流量,客流来源是近3个月来的流量平均数。

对照其在各城市中线路布局来看,其中客流量都远远大于其他几条线路的三条线路都位于城市的不同方位上,但是它们的共同点都在于:穿越市中心、途径名胜古迹旅游地点、连接多个交通中转点(机场,汽车站,高铁站,客运中心等)、周围有大学等人流量大的场所。

由此可见,一个城市内部的地铁线路的人流量的大小,受到其地铁线路布局周边配套设施一系列的影响。

图5.12成都地铁客流量数据分析组合图

这里是以“成都”为数据模板,进行的一系列分析组合可视化表现,可以看到,在2023年过去的3个月内,客流量起伏变化大,根据日期推算,每逢周末,客流量会到达一个小高峰,在近期的五一小长假期间,成都的地铁客流量到达了顶峰,近800万/人次。在对近5年来的客流分析和年日均客流来看,在疫情防控年份,成都的地铁客流量显著下滑,2020年日均客流量只有331.05万/人次,2019年为382.98万/人次,2018年为316.89万/人次。并且近五年来,成都历史客流的TOP榜最高是出现在2023年的五一期间,达到了771.77万/人次是近5年来的最高峰,说明在疫情放开以后的第一个小长假,人们更乐意外出游玩,所以乘坐地铁的客流量很大。

图5.12深圳地铁客流量数据分析组合图

同样的,这里的组合图表是以“深圳”为数据模板制作,为了和“成都”形成对比。根据图表分析可以看到,同样的,在五一假期时间段,深圳地铁客流量达到了最高峰,原因同成都一样,疫情防控以来,第一个完全放开的小长假,客流量达到了最高峰,并且可以看到在和往年的月均客流量来相比,2023年的深圳的月日均客流量远远大于过去的4年,并且创下了历史客流最高峰的也是2023年的五一假期,根据趋势预测,地铁客流量将会达到800万人次到700万人次。深圳的数据来看,和成都相比,其规模和客流量还是略高于成都,深圳的经济发展规模和速度是决定城市间地铁客流量对比的决定因素。

图5.13各城市运营里程分布玫瑰图

由图5.13可以看出,上海、北京、广州等城市的运营里程位列前茅,运营里程较低的城市如金华、长沙等地。可以分析得出的原因有两点,第一,运营里程高的城市多是经济发达、政治中心,得益于早期改革开放的浪潮影响,城市化起步早,地铁运营时间长。第二,受制于地理因素影响,像长沙、金华等地位于湘江、珠三角,河网密布,且周围多山地,地铁修建难度大,城市规模难以扩张。地铁运营里程的长短受到经济发展、地理环境、政策影响等因素较大。

图5.14“北上广”年度客流量对比图

从折线对比图可以看到,针对“北上广”这3座经济发达的地区,在二月的地铁客流量有一个显著的下滑,这是由于出于春节期间,大城市的外地上班族回归了家乡,导致城市内人口阶段性流失了部分,并且春节假期期间,也不需要每天的地铁通勤,导致在二月对的地铁客流量有了显著的下滑趋势。而在4月到5月份的过渡时间段,有一个客流量小高峰,受节假日影响大,出行人数多,同理在10月份也有国庆长假,客流量同样迎来了高峰。

5.6 意见与建议

地铁建设对城市发展的意义是多方面的:地铁建设可以提供高效、快速、可靠的城市交通方式,能够减缓道路拥堵,缓解交通压力,提高城市出行效率,改善交通运输状况。

促进城市经济发展:地铁建设可提高城市运行效率,缩短市民出行时间,改善城市生活环境,增加城市交通的吸引力,进一步促进城市经济发展,吸引更多的商业和投资。

意见与建议:①一个城市地铁修建与其的经济发展有着最为直接的关系,可以说,只有经济发展到一定地步,才会开始修建地铁,与此同时,地铁的修建又会进一步促进经济的发展,促进城市化的扩张,形成经济不断增长的良性闭环。

②城市地铁的修建一定连接到城郊和市中心,便于上班族在城郊和市中心上班地通勤,为上班族提供时间保障,同时也要连接各个交通运输点,方便人们的出行,减缓交通压力,提升城市居民的获得感,地铁线路还需要连接到名胜古迹和城市地标商业区,进一步促进经济的发展。

③针对节假日客流量大的情况,可以增加地铁班次,延长地铁运营时间,缓解交通运输压力,加快客流量流通速度,进一步便利出行,推动消费,促进经济的发展。

④愈大的城市修建城铁愈积极、修建里程也愈多一个是因为资金的支持充足,另一个是因为客流强度确实很大、运载压力很大,修建地铁是刚需。并且还可以提升城市形象和品质,地铁作为一种现代化、高端的交通方式,增强城市的吸引力和影响力,同时也可以为城市注入更多的文化和艺术元素,丰富城市文化内涵。

⑤推动城市区域发展,地铁的建设可以带动城市的区域发展,促进城市的协调、均衡和可持续发展,同时也可以为城市的城市规划和土地利用提供更多的可能性和空间。

⑥本次数据分析可以发现不同城市不同节点的客流量变化,便于使用地铁出行的人们选择合适的线路出行,节省更多的时间和精力。

⑦可以让政府单位更直观准确地了解到轨道交通的实况,更好的完善城市服务。在客流量过大的情况下,积极引导乘客考虑多种出行线路,选择人数较少的路径。比如引导乘客换乘其他线路抵达目的地,避免集中在一个站换乘。也可以公开客流实况图,让乘客自行选择客流少的路径。建多条平行线路缓解客流压力。比如广州地铁5号线客流过大,修建13号线二期几乎平行于5号线,能够缓解5号线客流。同样大的客流可以被两条线路分担,自然客流得到缓解

5.7 本章小结

通过全国地铁客流量数据采集和分析,可以深入了解城市的交通状况和人口分布情况,为城市规划、公共交通建设等提供参考依据和决策支持。同时,数据分析和可视化也是一项重要的技能,可以帮助我们更好地理解数据,快速获取信息,为决策提供重要参考。

对于不同的城市和地铁线路,可以进行对比分析,主要运用了柱状图和组合图形,找出城市规划与交通建设的差异。合理利用图表和地图等可视化方法,运用了最近较为热门的热力图直观地展现分析结果,从地图上去看我国地铁城市的分布和相对应的客流量大小,做到一目了然、简单清晰。结合实际需求,对客流量较大的地铁站点进行重点分析,并和城市的人口、经济等因素进行关联分析,根据PEST分析法则,从政治、经济、地理位置、技术等多方面对于地铁城市的建设有一个宏观环境的分析。最后针对在我们数据可视化分析出现的现象,提供一些我们的见解和建议,对于不管是面向政府机构、企业还是个人都能够起到一个启示的作用,便利人们的日常出现需要,也为地铁城市和相关地铁服务的企业提供了一个可靠的大数据分析支持和方向。


此部分可根据项目实际需要进行改动


本文转载自: https://blog.csdn.net/weixin_72023291/article/details/131298621
版权归原作者 Y.Y.z 所有, 如有侵权,请联系我们删除。

“基于大数据背景下的全国各大城市地铁客流量分析”的评论:

还没有评论