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

Pandas DataFrame时间差计算优化:寻求替代循环的向量化方案

Pandas 快速计算时间差(向量化方案)

直接用Pandas内置的向量化方法替代循环,速度能提升几个数量级,具体步骤如下:

  1. 确保时间列类型正确
    如果TS_START还不是datetime格式,先转换:

    import pandas as pd
    df['TS_START'] = pd.to_datetime(df['TS_START'])
    
  2. 向量化计算时间差并转成小时小数
    用diff()方法直接计算相邻行的时间差,再通过dt.total_seconds()把时间差转成总秒数,最后除以3600得到小时单位的小数:

    df['delta_t'] = df['TS_START'].diff().dt.total_seconds() / 3600
    

    第一行因为没有上一行数据,delta_t会是NaN,如果需要把第一行设为0,加一步填充:

    df['delta_t'] = df['delta_t'].fillna(0)
    

这个方案完全是向量化操作,底层基于C实现,比Python循环快得多,哪怕是几十万、上百万行的数据也能秒级处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 17:20:27