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

处理纽约出租车数据集:删除dropoff_datetime早于pickup_datetime的行

处理纽约出租车行程数据中的时间异常(下车早于上车)

假设你用Python的pandas处理这份数据集,以下是具体操作步骤:

  • 第一步:确保时间字段为datetime类型
    多数情况下数据集读入的时间是字符串格式,必须转成datetime才能做时间比较:

    import pandas as pd
    
    # 加载数据集(这里用df指代你的数据框,实际需替换为你的读取方式)
    # df = pd.read_csv('your_taxi_dataset.csv')
    
    # 转换时间字段为datetime类型,errors='coerce'会把无法解析的内容转为NaT
    df['pickup_datetime'] = pd.to_datetime(df['pickup_datetime'], errors='coerce')
    df['dropoff_datetime'] = pd.to_datetime(df['dropoff_datetime'], errors='coerce')
    
    # 删除无法解析为时间的无效行
    df = df.dropna(subset=['pickup_datetime', 'dropoff_datetime'])
    
  • 第二步:过滤异常行
    两种高效的处理方式:

    1. 直接筛选正常数据生成新数据框:
      df_clean = df[df['dropoff_datetime'] >= df['pickup_datetime']]
      
    2. 定位异常行索引并原地删除:
      # 找出所有下车时间早于上车时间的行索引
      invalid_indices = df[df['dropoff_datetime'] < df['pickup_datetime']].index
      # 原地删除异常行
      df.drop(invalid_indices, inplace=True)
      
  • 验证清理结果
    检查清理后是否还有异常行:

    # 输出异常行数量,正常应为0
    print(df[df['dropoff_datetime'] < df['pickup_datetime']].shape[0])
    

如果用SQL处理,逻辑同理,通过WHERE条件过滤:

SELECT * FROM taxi_trips
WHERE dropoff_datetime >= pickup_datetime;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:25:25