zomato_delivery_EDA
收藏资源简介:
Zomato Delivery Operations 数据集是一个关于印度多个城市食品配送物流的真实世界数据集。该数据集包含45,584行原始数据,经过清洗和特征工程后,最终包含38,964行和22列。目标变量为`Time_taken (min)`,表示配送总时间(分钟)。数据集涵盖了配送员的属性(如年龄、评分)、天气条件(如晴天、多云、雾、风暴等)、交通密度(如低、中、高、拥堵)、GPS坐标(餐厅和客户的经纬度)以及配送结果。此外,数据集还包含两个 engineered 特征:`distance_km`(餐厅与客户之间的直线距离)和`delivery_speed`(配送速度分类:快、平均、慢)。该数据集适用于表格分类和回归任务,特别适合用于探索天气、交通、配送员经验等因素对配送时间的影响。
The Zomato Delivery Operations dataset is a real-world dataset focused on food delivery logistics across multiple cities in India. It initially contains 45,584 rows of raw data, and after data cleaning and feature engineering, the final dataset includes 38,964 rows and 22 columns. The target variable is `Time_taken (min)`, which denotes the total delivery time in minutes. The dataset covers various aspects including attributes of delivery personnel (such as age and ratings), weather conditions (e.g., sunny, cloudy, foggy, stormy, etc.), traffic density (e.g., low, medium, high, congested), GPS coordinates (longitude and latitude of restaurants and customers), as well as delivery outcomes. Additionally, the dataset includes two engineered features: `distance_km` (the straight-line distance between the restaurant and the customer) and `delivery_speed` (delivery speed classification: fast, average, slow). This dataset is applicable to tabular classification and regression tasks, and is especially suitable for investigating the impact of factors such as weather, traffic, and delivery personnel experience on delivery time.
Zomato Delivery Operations — EDA & Dataset 数据集概述
数据集基本信息
- 来源:Kaggle — saurabhbadole/zomato-delivery-operations-analytics-dataset (https://www.kaggle.com/datasets/saurabhbadole/zomato-delivery-operations-analytics-dataset)
- 许可协议:mit
- 任务类别:表格分类、表格回归
- 语言:英语
- 领域:食品配送物流,印度
- 数据规模:10K<n<100K
- 原始数据规模:45,584 行 × 20 列
- 最终数据规模:38,964 行 × 22 列
- 目标变量:
Time_taken (min)
研究问题
- 天气与交通:极端天气(风暴、雾)是否总是会减慢配送速度,或者有时会因道路畅通而实际导致更快的配送结果?
- 经验缓冲:评分更高或经验更丰富的配送员是否花费更少的配送时间?
- 距离与现实:使用 Haversine 距离计算,延迟是否仅仅因为客户距离远,还是运营因素才是真正的瓶颈?
数据准备与特征工程
数据清洗步骤
- 删除了缺失关键列(
Weather_conditions、Road_traffic_density、multiple_deliveries)的行。 - 移除了重复行(未发现)。
- 将
Time_taken (min)转换为整数。 - 清除了所有分类列中的空白字符。
- 移除了 3,410 行 GPS 坐标损坏(经纬度为 0,0)的行。
- 移除了 272 行物理上不可能的距离(>25公里,高于第99百分位数)的行。
工程化特征
| 列名 | 描述 |
|---|---|
distance_km |
餐厅与客户之间的 Haversine 直线距离(公里) |
delivery_speed |
分类分箱:快(<19 分钟)/ 平均(19–33 分钟)/ 慢(>33 分钟) |
delivery_speed 的阈值基于 Time_taken (min) 的第25和第75百分位数选择,以确保平衡分割(26.2% / 51.2% / 22.6%)。
有意保留的缺失值
Delivery_person_Age(缺失 1,019 个)和 Delivery_person_Ratings(缺失 1,055 个)被有意保留。这些行仍对研究问题1和3有贡献,在研究问题2的分析中,pandas 会自动跳过 NaN 值。
异常值检测
- 配送时间:未检测到异常值(范围 10–54 分钟,均在 IQR 范围内)。
- 距离:无异常值(已过滤至 ≤25公里)。
- 配送员评分:1,024 个低于 3.9 的值被标记为统计异常值,但被有意保留,因为它们代表了与研究问题2相关的真实低评分配送员。
关键发现
研究问题1 — 天气与交通
- 天气状况 vs. 配送时间:晴天配送最快(中位数 21 分钟)。风暴和沙尘暴的表现与大风条件相当(均为 26 分钟)。雾天和阴天最慢(29 分钟)。
- 交通密度 vs. 配送时间:交通密度有明确但非线性的影响。从低(21.5 分钟)到中(26.9 分钟)的跳跃显著,但从中到高(27.4 分钟)几乎相同。只有拥堵条件会造成有意义的额外延迟(31.4 分钟)。
- 天气与交通的交互作用:晴天天气能缓冲甚至重度交通的影响。雾天/阴天与拥堵的组合是最差组合(36.8–36.9 分钟),而风暴和沙尘暴在重度交通下的表现明显好于预期。
研究问题2 — 经验缓冲
- 配送员评分是数据集中最强的预测因子(r = -0.360),强于距离(r = 0.322)。高评分配送员配送速度持续更快。
- 年龄较大的配送员往往更慢(r = 0.298),表明仅凭经验并不能弥补——服务质量更重要。
研究问题3 — 距离与现实
- 距离有影响,但它不是真正的瓶颈。每次行程的多次配送(r = 0.384)是比距离(r = 0.322)更强的预测因子。
- 一次处理 3 次配送的配送员平均耗时 47.8 分钟,是单次配送平均耗时(23.1 分钟)的两倍多。
相关性总结
| 特征 | 与 Time_taken 的相关性 |
|---|---|
multiple_deliveries |
+0.384 |
Delivery_person_Ratings |
−0.360 |
distance_km |
+0.322 |
Delivery_person_Age |
+0.298 |
列参考
| 列名 | 类型 | 描述 |
|---|---|---|
ID |
字符串 | 唯一订单 ID |
Delivery_person_ID |
字符串 | 配送员 ID |
Delivery_person_Age |
整数 | 配送员年龄 |
Delivery_person_Ratings |
浮点数 | 配送员评分(1–5) |
Restaurant_latitude |
浮点数 | 餐厅 GPS 纬度 |
Restaurant_longitude |
浮点数 | 餐厅 GPS 经度 |
Delivery_location_latitude |
浮点数 | 客户 GPS 纬度 |
Delivery_location_longitude |
浮点数 | 客户 GPS 经度 |
Order_Date |
字符串 | 订单日期 |
Time_Orderd |
字符串 | 下单时间 |
Time_Order_picked |
字符串 | 取餐时间 |
Weather_conditions |
字符串 | 晴天 / 阴天 / 雾天 / 风暴 / 大风 / 沙尘暴 |
Road_traffic_density |
字符串 | 低 / 中 / 高 / 拥堵 |
Vehicle_condition |
整数 | 车辆状况(0–2) |
Type_of_order |
字符串 | 小吃 / 正餐 / 饮料 / 自助餐 |
Type_of_vehicle |
字符串 | 摩托车 / 踏板车 / 电动踏板车 |
multiple_deliveries |
整数 | 行程中的额外停靠点数量(0–3) |
Festival |
字符串 | 是 / 否 — 是否有活跃的节日 |
City |
字符串 | 大都市 / 城市 / 半城市 |
Time_taken (min) |
整数 | 目标变量 — 总配送时间(分钟) |
distance_km |
浮点数 | 工程化特征 — Haversine 距离(公里) |
delivery_speed |
类别 | 工程化特征 — 快 / 平均 / 慢 |




