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

Pandas中如何计算两列时间差并将结果存入DataFrame新增列

实现方法

你需要先将字符串格式的时间列转换为pandas原生的datetime类型,再做差值计算即可,完整代码如下:

import pandas as pd

# 按你数据的时间格式解析两列时间,避免自动解析出错
trades_df['Open Time'] = pd.to_datetime(trades_df['Open Time'], format='%d-%m-%Y %H:%M')
trades_df['Close Time'] = pd.to_datetime(trades_df['Close Time'], format='%d-%m-%Y %H:%M')

# 计算时间差生成time_spent列
trades_df['time_spent'] = trades_df['Close Time'] - trades_df['Open Time']

处理后你示例里的两行数据对应的time_spent值分别为0 days 00:29:00、11 days 09:11:00,是pandas的timedelta类型,支持直接做时间相关的运算。

如果你需要得到数值型的时长结果,可以用如下方式转换为指定单位:

# 转为总分钟数
trades_df['time_spent_total_min'] = trades_df['time_spent'].dt.total_seconds() / 60

# 转为总小时数
trades_df['time_spent_total_hour'] = trades_df['time_spent'].dt.total_seconds() / 3600

注意:必须手动指定format='%d-%m-%Y %H:%M'参数,否则pandas自动推断时间格式时,很容易把日-月-年的格式误判为月-日-年,导致时间解析错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 02:39:16