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

如何将Python DataFrame时间列转换为时分秒及累计秒数列?

解决方案

首先确保你的time列是datetime类型(如果pd.read_csv未自动识别的话):

df['time'] = pd.to_datetime(df['time'])

1. 创建仅含时分秒的hour列

如果需要字符串格式的时分秒(如21:00:00):

df['hour'] = df['time'].dt.strftime('%H:%M:%S')

如果需要datetime.time对象类型:

df['hour'] = df['time'].dt.time

2. 创建从0点开始的累计秒数seconds列

有两种简洁实现方式,结果完全一致:

方式1:直接计算时分秒对应的秒数总和
df['seconds'] = df['time'].dt.hour * 3600 + df['time'].dt.minute * 60 + df['time'].dt.second
方式2:计算当前时间与当天0点的时间差,取总秒数
# normalize()会将时间转换为当天00:00:00,再计算时间差的总秒数
df['seconds'] = (df['time'] - df['time'].dt.normalize()).dt.total_seconds()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:01:05