
(更新上架)按日分的2.4亿条深圳共享单车企业每日订单表,分为csv和geojson文件
- Published on
目录:
- 一句话概述
- 你将获得
- 适用场景
- 为什么有两个目录?
- 格式选择建议
- 发货
- FAQ(可自行裁剪)
- 增值服务
- 拿到爱发电的共享单车每日订单数据后怎么用?
- 方式一:只想看看——直接用 Excel/表格
- 方式二:想看地图——用免费 Web 工具
- 方式三:想做一点数据分析(入门版)
- 我应该学哪些下一步?(精选清单)
按日分的2.4亿条深圳共享单车企业每日订单表,分为csv和geojson文件:爱发电 · (更新上架)按日分的深圳共享单车企业每日订单表csv和geojson文件)
一句话概述
日级导出的深圳共享单车出行数据(含原始坐标 raw 与标准 WGS84 坐标双目录),CSV / GeoJSON,开箱即可用于可视化、统计分析与空间挖掘;兼容任意主流数据库 / 分析引擎导入(PostgreSQL/PostGIS、DuckDB、ClickHouse、SQLite、Pandas、GeoPandas 等)。
你将获得
深圳共享单车企业每日订单表(每日一个csv或geojson文件)/
wgs84/ # 标准 WGS84 坐标(推荐用于分析与叠加)
csv_zip/ # 每天一个 zip,内含该日 CSV
geojson_zip/ # 每天一个 zip,内含该日 GeoJSON(起点点要素)
raw/ # 原始坐标(快速浏览/教学演示)
csv_zip/
geojson_zip/
每日订单数量统计.csv
README.pdf / 使用指引(可选)
- 日期覆盖:2021年1月1日到8月30日。 (结合官方和实际数据,只有20210101到20210830这一段时间的数据有意义。)
- 数据总量:244,412,855 条数据
- 双坐标系:原始坐标(可能为 GCJ-02 / BD09LL 等,未做纠偏)+ 已转换 WGS84 坐标(可用于对齐卫星 / OSM / GPS 底图)。
- 常见字段(精简示例,字段命名以实际文件为准):
user_id
:匿名化用户标识(仅用于同一用户聚合分析)company_id
:运营公司标识start_time_cn
/end_time_cn
:北京时间字符串start_lng_wgs84
/start_lat_wgs84
、end_lng_wgs84
/end_lat_wgs84
start_lng_raw
/start_lat_raw
、end_lng_raw
/end_lat_raw
- (空间格式)GeoJSON 点几何表示行程起点(对应所在坐标系目录)
适用场景
- 高峰时段规律分析、出行强度统计
- OD(起终点)热点分布、聚类与格网聚合
- 骑行时长 / 时间分布特征挖掘
- 与天气 / 轨道 / 其它公共出行数据叠加(需外部数据源)
- 教学示例:GeoJSON 可直接拖入 kepler.gl / geojson.io / QGIS
为什么有两个目录?
目录 | 用途 | 特点 |
---|---|---|
wgs84/ | 正式分析、地图叠加、跨数据集融合 | 坐标标准,对齐 OSM / GPS / 卫星底图 |
raw/ | 快速浏览、教学演示 | 保留原始平台坐标,可能轻微偏移 |
格式选择建议
需求 | 推荐格式 | 说明 |
---|---|---|
表格浏览 / 快速筛选 | CSV (zip) | 兼容 Excel / WPS;体积较大已压缩 |
在线地图可视化 | GeoJSON (zip) | 直接拖入 kepler.gl / geojson.io |
大数据批处理 / 列存 | Parquet / GeoParquet | (如提供)高效压缩与向量化读取 |
Python 空间分析 | GeoParquet / GeoJSON | GeoParquet 若提供优先 |
发货
- 发货:购买后平台私信发送提取连接,提供阿里云盘、夸克网盘和百度网盘的链接。
FAQ(可自行裁剪)
Q:点与底图有偏移?
A:检查是否误用了 raw/
目录,建议换用 wgs84/
。
Q:文件太大打不开?
A:只解压需要的日文件;或在 CSV 里抽样(每隔 100 行取 1)。
Q:如何做时间动画?
A:kepler.gl 添加时间过滤器,字段选 start_time_cn
。
Q:可以继续追加更多天吗?
A:保持相同字段与目录规范即可追加。
Q:如何转空间格式?
A:用 GeoPandas 读取 CSV,构造 Point 列后另存为 GeoParquet / Shapefile。
增值服务
可以根据私信的联系方式,咨询任何数据集有关的问题。
为了集中讨论,欢迎在Github Issue上面提出问题。
博客相关文章:
拿到爱发电的共享单车每日订单数据后怎么用?
这篇指南教你"不开发也能用数据"。前提是你已经自己用代码或者在我的爱发电 · (更新上架)按日分的深圳共享单车企业每日订单表csv和geojson文件)中获取了每日订单数据。
方式一:只想看看——直接用 Excel/表格
- 选择坐标系:建议从 wgs84/csv_zip/ 开始(更标准)
- 找到某个日期(例如 bike_data_20210101_wgs84.zip),解压缩得到 CSV。
- 用 Excel、WPS 或 Numbers 打开。
- 常见字段:
基础信息:
- start_time_cn / end_time_cn:北京时间字符串
- user_id:匿名化的用户标识(仅用于同一用户内的统计,如行程计数;不用于身份识别)
- company_id:运营公司
坐标信息(根据目录不同):
- wgs84 目录:start_lng_wgs84/start_lat_wgs84,end_lng_wgs84/end_lat_wgs84
- raw 目录:start_lng_raw/start_lat_raw,end_lng_raw/end_lat_raw
- 你可以用筛选功能看看某天、某公司、或某个时间段的数据量。
不过公司字段不是很准
小提示:CSV 行数可能很多,Excel 会变卡。只做浏览的话,过滤后保存一小份就行。
方式二:想看地图——用免费 Web 工具
准备 GeoJSON 文件:
- 推荐:在 wgs84/geojson_zip/ 里选一个日期,解压得到 .geojson(标准坐标系),如果你想分析起终点之间的关系,建议用csv文件。
- 或者:在 raw/geojson_zip/ 里选择(快速浏览用,可能有轻微偏移)
三个简单路线:
kepler.gl(强烈推荐,新手友好)
- 打开 https://kepler.gl/demo
- 拖拽 .geojson 文件到页面
- 点开图层设置(Layer),选择 Point
- 可以调颜色、大小,按时间刷(Filter 里选择 start_time_cn)
- 支持多图层叠加,可以同时查看起点和终点
geojson.io(极简,加载大量数据点可能无法打开)
- 打开 https://geojson.io
- 拖拽 .geojson 到页面
- 左侧会显示地图点位,右侧可以看属性
QGIS (专业 GIS 软件,免费)
- 下载:https://qgis.org/download/
- 安装后可以加载 GeoJSON,做更复杂的空间分析
坐标系说明:
- 如果使用 wgs84 目录的数据,点位会与底图精确对齐
- 如果使用 raw 目录的数据,可能会有轻微偏移(这是正常的)
方式三:想做一点数据分析(入门版)
如果你愿意安装 Python(推荐新版 3.13)并用终端执行命令,可以这样:
- 安装依赖管理器 uv:
- 可视化最简单的散点图 :
# 读取并构造 GeoDataFrame(放在一个单元格)
import zipfile
import pandas as pd
import geopandas as gpd
from shapely.geometry import Point
from shapely import wkt
from pathlib import Path
zip_path = Path('../data/share/wgs84/csv_zip/bike_data_20210101_wgs84.zip')
with zipfile.ZipFile(zip_path) as z:
with z.open(z.namelist()[0]) as f:
df = pd.read_csv(f)
# 检查列名并构造经纬度列(容错)
if 'start_lng_wgs84' not in df.columns or 'start_lat_wgs84' not in df.columns:
if 'start_geom_wgs84' in df.columns:
pts = df['start_geom_wgs84'].map(lambda s: wkt.loads(s) if pd.notna(s) else None)
df['start_lng_wgs84'] = pts.map(lambda p: p.x if p else None)
df['start_lat_wgs84'] = pts.map(lambda p: p.y if p else None)
if 'end_lng_wgs84' not in df.columns or 'end_lat_wgs84' not in df.columns:
if 'end_geom_wgs84' in df.columns:
pts = df['end_geom_wgs84'].map(lambda s: wkt.loads(s) if pd.notna(s) else None)
df['end_lng_wgs84'] = pts.map(lambda p: p.x if p else None)
df['end_lat_wgs84'] = pts.map(lambda p: p.y if p else None)
# 构造起点/终点 GeoDataFrame(只包含有坐标的行)
start_df = df.dropna(subset=['start_lng_wgs84', 'start_lat_wgs84']).copy()
end_df = df.dropna(subset=['end_lng_wgs84', 'end_lat_wgs84']).copy()
gdf_start = gpd.GeoDataFrame(
start_df,
geometry=gpd.points_from_xy(start_df['start_lng_wgs84'], start_df['start_lat_wgs84']),
crs="EPSG:4326"
)
gdf_end = gpd.GeoDataFrame(
end_df,
geometry=gpd.points_from_xy(end_df['end_lng_wgs84'], end_df['end_lat_wgs84']),
crs="EPSG:4326"
)
# 合并用于统一绘图(添加类型标签)
gdf_start['point_type'] = 'start'
gdf_end['point_type'] = 'end'
gdf = gpd.GeoDataFrame(pd.concat([gdf_start, gdf_end], ignore_index=True), crs="EPSG:4326")
我应该学哪些下一步?(精选清单)
可视化与地图
- kepler.gl 快速入门:https://docs.kepler.gl/docs/user-guides/get-started/get-started
- QGIS(桌面 GIS)下载与基础:https://qgis.org
- geojson.io 简介:https://geojson.io
数据分析(零基础)
- Python 与 Pandas 入门(官方教程集合):https://pandas.pydata.org/docs/getting_started/index.html
- 可视化:Matplotlib 入门:https://matplotlib.org/stable/tutorials/introductory/pyplot.html
进阶(等本仓库后续补充数据分析代码)
- GeoPandas(在 Python 里做空间分析):https://geopandas.org
- PostGIS(在数据库里做空间查询):https://postgis.net/documentation/