深圳市共享单车数据分析【文末附共享单车数据集清单】

目前最新的共享单车公开数据可能只有深圳市政府数据开放平台发布的共享单车企业每日订单表了,数据量包含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) 是现代编程的基础,可以通过多种编程语言和工具实现。多种编程语言和工具,如 JavaScript 和 Python,都可用于调用 API。

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

我们选用简洁性、受欢迎的 Python 来进行数据获取,使用的方法是requests库,或者可以使用http.client或第三方库如aiohttp(异步请求)。

具体调用说明见网站上的【调用说明】。

鉴于数据量巨大(2.7 亿条共享单车订单数据),我们无法将其全部保存在 Json 或 csv 文件中,因此需要选择合适的数据库进行存储。

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

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

  1. PostgreSQL + PostGIS 扩展:

    • PostgreSQL 是一个强大的开源关系数据库系统。
    • 通过 PostGIS 扩展,它可以有效处理地理空间数据。
    • 支持复杂的查询和索引,适合时间序列和空间数据。

    更多信息查看:https://www.postgresql.org/

  2. MongoDB:

    • MongoDB 是一个灵活的 NoSQL 文档数据库。
    • 它支持地理空间索引和查询。
    • 更适合快速开发和水平扩展。

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


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

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

!!!若有按时间获取数据的需求,可通过增加 startDate 和 endDate 参数对数据进行筛选。(虽然官方说可以根据这两个参数来获取,但是我测试失败,如果有人知道原因,欢迎在下方评论。)

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

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

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

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

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

我直接删除了订单距离为 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 版)》,描述的是同济大学地铁站周边共享单车换乘地铁的分布图。

上海某日共享单车到达某地铁站点衔接图

共享单车公开数据清单

共享单车数据清单移到了另外一篇文章:中国共享单车公开数据清单【交通数据集】


深圳市共享单车数据分析【文末附共享单车数据集清单】
https://blog.renhai.online/archives/%E5%85%B1%E4%BA%AB%E5%8D%95%E8%BD%A6%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90
作者
Renhai
发布于
2023年11月19日
更新于
2024年06月15日
许可协议