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

如何计算Python Pandas序列中时间戳对应的总运行时长(时/分/秒)

报错原因

你遇到的类型报错核心原因是:ELAPSED_TIME列当前存储的是datetime.time类型,该类型仅代表24小时内的某个时间点,不属于可做算术求和的时间差类型,所以无法直接执行sum()操作。你之前用pd.to_datetime转换不生效,是因为该方法是用来转换时间点的,你需要使用转换时间差的专用方法pd.to_timedelta。

解决代码

步骤1:转换ELAPSED_TIME为时间差类型

import pandas as pd

# 先转字符串再转timedelta类型,适配你当前列的存储格式
df_values['ELAPSED_TIME'] = pd.to_timedelta(df_values['ELAPSED_TIME'].astype(str))

步骤2:计算总运行时长

# 直接对timedelta类型列求和
total_duration = df_values['ELAPSED_TIME'].sum()

# 格式化为HH:MM:SS的字符串格式,得到00:00:48的结果
total_str = str(total_duration).split()[-1].split('.')[0]

# 如果你需要给每一行都赋值总时长,再执行以下代码
df_values['TOTAL'] = total_str
不同单位换算方法

如果需要输出不同单位的总时长数值,可以直接通过timedelta的内置方法计算:

  • 总秒数:total_seconds = total_duration.total_seconds()
  • 总分钟数:total_minutes = total_duration.total_seconds() / 60
  • 总小时数:total_hours = total_duration.total_seconds() / 3600

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 08:51:04