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

如何将DataFrame中的时间日志(时间戳)转换为整数秒?

解决方案

单个datetime.time对象转整数秒

你已经得到了datetime.time对象,直接通过其属性计算总秒数即可:

from datetime import datetime

datetime_str = '00:00:26'
datetime_object = datetime.strptime(datetime_str, '%H:%M:%S').time()

# 计算总秒数
total_seconds = datetime_object.hour * 3600 + datetime_object.minute * 60 + datetime_object.second
print(total_seconds)  # 输出: 26
print(type(total_seconds))  # 输出: <class 'int'>

DataFrame批量转换(更高效)

既然要处理整个DataFrame的列,没必要先转成datetime.time对象,直接用pandas的内置方法批量处理,效率更高:

import pandas as pd

# 示例DataFrame
df = pd.DataFrame({
    'Text': ['A', 'B'],
    'Start time': ['00:00:26', '00:01:27'],
    'End time': ['00:02:10', '00:03:05']
})

# 将Start time和End time转为整数秒
df['Start time'] = pd.to_datetime(df['Start time'], format='%H:%M:%S').dt.total_seconds().astype(int)
df['End time'] = pd.to_datetime(df['End time'], format='%H:%M:%S').dt.total_seconds().astype(int)

print(df)

输出结果:

Text  Start time  End time
0    A          26       130
1    B          87       185

另一种字符串直接计算的方法

如果不想用datetime模块,也可以直接拆分字符串计算:

time_str = '00:01:27'
h, m, s = map(int, time_str.split(':'))
total_seconds = h * 3600 + m * 60 + s
print(total_seconds)  # 输出: 87

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:15:27