You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook中为出租车数据集构建早高峰特征

实现早高峰行程判断的特征工程方案

核心结论

不需要使用sklearn,直接借助Pandas就能完成这个特征工程——这是基于时间规则的特征提取,属于数据预处理环节,无需机器学习库介入。

具体实现步骤

假设你已经用Pandas将数据集加载为df,按以下步骤操作:

1. 提取上车时间的小时字段

从tpep_pickup_datetime列中提取小时部分,生成辅助列pickup_hour:

df['pickup_hour'] = df['tpep_pickup_datetime'].dt.hour

2. 生成早高峰判断特征

根据8:00-10:00的规则,生成二进制特征is_morning_rush(1代表处于早高峰,0代表非早高峰):

  • 简洁写法(适合小数据集):
df['is_morning_rush'] = df['pickup_hour'].apply(lambda x: 1 if 8 <= x < 10 else 0)
  • 矢量化写法(推荐,处理大数据集效率更高):
df['is_morning_rush'] = ((df['pickup_hour'] >= 8) & (df['pickup_hour'] < 10)).astype(int)

3. 可选:结合工作日过滤

如果需要排除周末的早高峰,可以先提取星期信息,再组合判断:

# 提取星期几,0=周一,6=周日
df['weekday'] = df['tpep_pickup_datetime'].dt.weekday
# 仅标记工作日的早高峰
df['is_morning_rush_workday'] = ((df['weekday'] < 5) & (df['pickup_hour'] >= 8) & (df['pickup_hour'] < 10)).astype(int)

结果验证

可以用以下代码确认特征是否符合预期:

# 查看早高峰样本的时间与特征值
print(df[df['is_morning_rush'] == 1][['tpep_pickup_datetime', 'is_morning_rush']].head())
# 统计早高峰与非早高峰的样本数量
print(df['is_morning_rush'].value_counts())

内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 05:32:41