深圳市共享单车数据分析、热力图展示【文末附共享单车数据集清单】

2023-11-24 17:15:18 浏览数 (2)

目前最新的共享单车公开数据可能只有深圳市政府数据开放平台[1]发布的共享单车企业每日订单表了,数据量包含2017-04-032021-08-30的 2.4 亿条数据,总计约 24G 大小:

《深圳共享单车企业每日订单表》在数据库中情况

深圳真不愧是改革先行者,公开的数据量如此庞大。

如此大量的数据,肯定不能直接下载。直接下载的文件仅包含本数据集的前 10 万条数据。

每条数据包含的字段:

USER_ID

用户 id

COM_ID

企业 id

START_TIME

开始时间

START_LNG

开始经度

START_LAT

开始纬度

END_TIME

结束时间

END_LNG

结束经度

END_LAT

结束纬度


深圳数据开放平台也提供调用数据接口的方式进行下载:

数据接口(APIs) 是现代编程的基础,可以通过多种编程语言和工具实现。JavaScriptPython等多种编程语言和工具都可以调用 Api。

每种方法都有其特定的使用场景和优势。选择哪种方法取决于你的项目需求、所用技术栈以及个人或团队的熟悉程度。例如,如果你正在开发一个 Web 应用,JavaScript 可能是最直接的选择;如果是企业级后端系统,Java 或 C#可能更合适。对于脚本或自动化任务,Python 或 Shell 命令可能是最简单的方法。

我们选用简洁性、受欢迎的 Python 来进行数据获取,使用的方法是requests库,或者可以使用http.client或第三方库如aiohttp(异步请求)。 具体调用说明见网站[2]上的【调用说明】。

如此庞大的数据我们肯定不能全保存在 Json 或者 csv 文件中,对于共享单车订单分析这样的大数据量场景(2.7 亿条数据),我们需要选择合适的数据库。

订单数据包括时间序列和地理空间数据,因此需要一个既能高效处理大规模数据集,又支持时间和空间查询的数据库。

以下是一些推荐的数据库选项:

  1. PostgreSQL PostGIS 扩展:
  • PostgreSQL 是一个强大的开源关系数据库系统。
  • 通过 PostGIS 扩展,它可以有效处理地理空间数据。
  • 支持复杂的查询和索引,适合时间序列和空间数据。
  1. MongoDB[3]:
  • MongoDB 是一个灵活的 NoSQL 文档数据库。
  • 它支持地理空间索引和查询。
  • 更适合快速开发和水平扩展。

另外根据我对数据库的熟悉情况,我选择MongoDB来储存我的数据库。


所以我们只需要用 Python 写一个requests请求,然后将数据储存到数据库。

花了一点时间(实际在我的树莓派上静静地跑了一天程序)之后,获取了全部 24G 的数据。

若有按时间获取数据的需求,可通过增加 startDate 和 endDate 参数对数据进行筛选。你可以

接下来简单来探索下深圳市共享单车服务的使用情况。

这次先取一天——2021 年 8 月 5 号的数据。

将坐标统一为 GPS 坐标后我们进行简单的可视化,如下图,每个红色点代表一个共享单车的出发点:

这天的订单数据共计超过一百万条,并且每条数据包含订单的开始和结束的时间以及经纬度信息,当然其中有很多离群值,需要进一步筛选,也就是数据清洗。

由于没有提供开关锁的状态,无法从订单状态筛选数据,通过观察发现可以从订单的距离、平均速度、起终点是否在深圳市进行数据清洗

我直接删除了订单距离为 0 米以及订单距离大于 40km 的数据,总的数据量从 1158199 减少到 1132736。

我们用这部分数据进行共享单车的使用模式分析,还能结合空间分布,进行一定程度的空间数据分析。

所以,我们的先对数据进行描述,可以重点关注了骑行时间、骑行次数、以及骑行距离的分布情况。

一、数据描述

1.骑行时间分布

观察共享单车的使用时间,我们发现了城市生活的节奏。早晚高峰时段的数据高峰,不仅反映了上下班的人潮,还揭示了车辆分配和维护的最佳时机。

这张图是一个柱状图,显示了 2021 年 8 月 5 日深圳市共享单车订单在 24 小时内的分布情况。横轴代表一天中的小时(从 0 点到 23 点),纵轴代表订单数量。

从图中可以观察到,在早上的某个时段(8 点左右)有一个明显的订单数量峰值,大家开始上班了。随后的几个小时内,订单数量逐渐下降,直到下午时段(16 点到 17 点之间)订单数量再次上升,形成第二个高峰,这可能与人们下班的时间相对应。到了晚上,订单数量逐渐减少,直到深夜时段达到最低点。

这样的分析有助于共享单车运营商了解用户的使用模式,从而更有效地调配车辆,确保在需求高峰时有足够的车辆可供使用。

2.骑行次数与地点

通过统计不同区域的骑行次数,我们绘制出了城市的热力图。

将热力图保存为 html 网页,此网页有 30M 大小,在线访问速度可能很慢,想要的可以关注微信公众号“renhai-lab”发送“深圳共享单车热力图 1”获取网页的下载链接。

热力图演示

3.出行距离分布

出行距离分布

这张图包含了四个子图,它们显示了不同规模的数据分布情况。每个子图都有一个 X 轴,表示“骑行距离(米)”,和一个 Y 轴,表示“概率”。这些图似乎是概率密度函数(PDF)的图形表示,每个子图覆盖不同的骑行距离范围,展示了共享单车骑行距离的分布情况。

在这些子图中,可以观察到随着骑行距离的增加,概率逐渐下降,这表明短距离骑行的频率较高。这是符合预期的,因为人们通常倾向于使用共享单车进行短途出行。随着距离的增加,选择骑行的用户可能会减少,从而导致概率下降。这些图可能用于分析骑行距离的典型值,从而帮助共享单车公司优化他们的车辆分布和调度策略。

以上仅为一部分数据分析工作,我们还可以绘制平均出行时间图交通小区之间的出行量共享单车的起点-终点图(OD 图),例如绘制全市 OD 图获取、单个站点的 OD 图,例如下图是上海某日共享单车到达某地铁站点衔接图——图源自《交通时空大数据分析、挖掘与可视化(Python版)[15],描述的是同济大学地铁站周边共享单车换乘地铁的分布图。

今天先写到这,此文章会在我的博客[16]更新,可以点击阅读原文[17]访问。

如果你对本文章有什么意见、对如何制作文中的图表感兴趣、或者有其它任何问题可以在博客的评论区留言,或者通过微信公众号发送私信给我。

共享单车公开数据清单

1.深圳市共享单车企业每日订单表

数据简介:深圳市政府数据开放平台[22]发布的共享单车企业每日订单表了,数据量包含 2.4 亿条数据。

时间:2017-04-032021-08-30

链接:https://opendata.sz.gov.cn/data/dataSet/toDataDetails/29200_00403627

数据预览:


搜索数据的时候发现有人已经整合过了:以内容下由微信公众号【立方数据学社】发表在【数据分享】8 个城市的共享单车数据(数据量约 10 亿条免费获取),本文选了国内的城市,国外的数据可以访问原文查看。

2.上海市的摩拜单车数据

时间: 2016年8月

数据简介: 和鲸社区用户分享的共享单车数据,包括上海市2016年8月的摩拜单车数据,共十万余条。数据链接为:https://www.heywhale.com/mw/dataset/5d315ebbcf76a60036e565bf

数据字段: 订单编号、车辆编号、用户编号、起始时间、起始位置、结束时间、结束位置、轨迹。

3.北京市摩拜数据(摩拜杯算法挑战赛)

数据简介:2017 摩拜算法挑战赛公布的共享单车数据,包括北京市 2017 年 5 月两周之内 40 余万共享单车被 30 多万用户使用的情况,包括 300 余万条出行记录。数据链接为:https://www.biendata.xyz/competition/mobike/data/

数据字段:订单号、用户 ID、车辆 ID、车辆类型、骑行起始日期时间、骑行起始区块位置、骑行目的地区块位置

4.厦门市共享单车数据

数据简介:2021 数字中国创新大赛公布的厦门市 2020 年 12 月 21 日-2020 年 12 月 25 日五天的共享单车轨迹数据。数据链接为:https://data.xm.gov.cn/contest-series/digit-china-2021/index.html#/3/competition_data

数据字段:共享单车 ID、定位时间、经度(WGS84 坐标)、纬度(WGS84 坐标)、共享单车来源

参考资料

[1]

深圳市政府数据开放平台: https://opendata.sz.gov.cn/

[2]

网站: https://opendata.sz.gov.cn/data/api/toApiDetails/29200_00403627

[3]

MongoDB: https://www.mongodb.com/

[4]

交通时空大数据分析、挖掘与可视化(Python版): http://www.baidu.com/link?url=R4RQ5Tny7VHR4oagI4Ap5yRHVy8okwXT5U-zBfquwJRnsvKsjgZnBKm50Mzbeo9XtElGnZUchLCWsPyfLmEUz_

[5]

我的博客: https://cdn.renhai-lab.tech/

[6]

阅读原文: https://cdn.renhai-lab.tech/archives/共享单车数据分析

[7]

我的博客: https://cdn.renhai-lab.tech/

[8]

我的 GITHUB: https://github.com/renhai-lab

[9]

我的 GITEE: https://gitee.com/renhai-lab

[10]

我的知乎: https://www.zhihu.com/people/Ing_ideas

[11]

深圳市政府数据开放平台: https://opendata.sz.gov.cn/

[12]

深圳市政府数据开放平台: https://opendata.sz.gov.cn/

[13]

网站: https://opendata.sz.gov.cn/data/api/toApiDetails/29200_00403627

[14]

MongoDB: https://www.mongodb.com/

[15]

交通时空大数据分析、挖掘与可视化(Python版): http://www.baidu.com/link?url=R4RQ5Tny7VHR4oagI4Ap5yRHVy8okwXT5U-zBfquwJRnsvKsjgZnBKm50Mzbeo9XtElGnZUchLCWsPyfLmEUz_

[16]

我的博客: https://cdn.renhai-lab.tech/

[17]

阅读原文: https://cdn.renhai-lab.tech/archives/共享单车数据分析

[18]

我的博客: https://cdn.renhai-lab.tech/

[19]

我的 GITHUB: https://github.com/renhai-lab

[20]

我的 GITEE: https://gitee.com/renhai-lab

[21]

我的知乎: https://www.zhihu.com/people/Ing_ideas

[22]

深圳市政府数据开放平台: https://opendata.sz.gov.cn/

0 人点赞