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

如何在Python中将DataFrame的HH:MM:SS.SS格式时间转为秒数?

解决HH:MM:SS.SS格式时间转秒数的问题

你的报错原因很明确:原函数尝试把带小数的秒字符串(比如'10.951')转成整数,自然会失败。下面提供两种可行的解决方法:

方法一:修改自定义函数

调整函数逻辑,将秒部分转为浮点数而非整数,保留小数精度:

def time_convert(x):
    h, m, s = x.split(':')
    return int(h) * 3600 + int(m) * 60 + float(s)

df['Time'] = df['Time'].apply(time_convert)

这种方法逻辑直观,适合小数据量场景。

方法二:使用Pandas内置方法(推荐)

利用Pandas的时间处理能力,更高效且代码更简洁,尤其适合大数据集:

import pandas as pd

# 将Time列转换为datetime类型,指定格式匹配带小数的秒
df['Time'] = pd.to_datetime(df['Time'], format='%H:%M:%S.%f')
# 计算从当日0时0分0秒开始的总秒数(含小数)
df['Time'] = df['Time'].dt.total_seconds()

运行后,你的示例数据第一行15:15:10.951会被转换为54910.951,完全符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:30:46