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

时间序列数据中多日期转年内累计秒数的实现求助

解决方案

你已经正确完成了日期时间的解析,接下来只需要计算每个时间点与当年1月1日00:00:00的时间差,再将差值转换为总秒数即可,具体步骤如下:

  1. 保留你已有的日期解析代码(格式匹配你的数据):
import pandas as pd

df['DateTime'] = pd.to_datetime(df['DateTime'].str.strip(), format="%d:%m:%Y %H:%M:%S:%f")
  1. 生成每个时间点对应的当年年初时间,并计算累计秒数:
# 方法一:分步实现
df['Year_Start'] = df['DateTime'].apply(lambda x: pd.Timestamp(year=x.year, month=1, day=1))
df['Seconds_data'] = (df['DateTime'] - df['Year_Start']).dt.total_seconds()

# 方法二:简化代码,合并步骤
df['Seconds_data'] = (df['DateTime'] - pd.to_datetime(df['DateTime'].dt.year.astype(str))).dt.total_seconds()

最终得到的Seconds_data就是从当年1月1日0点开始计算的累计秒数,不会每日重置。比如你举例的4:1:2022 00:00:00:000(即2022年1月4日0点),计算后正好是3*24*3600=259200秒,和预期结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:05:26