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

使用Pandas为突发式数据集添加日期/时间列

给突发式日志数据添加时间戳列

完全可以通过Pandas给每条记录计算对应的日期时间,下面是具体实现步骤和代码:

核心逻辑梳理

你的数据是突发式采集:

  • 每轮采集960条(16Hz×60秒),耗时60秒
  • 两轮之间暂停300秒
  • 已知起始时间,我们可以通过「轮次偏移 + 轮内采样偏移」计算每条记录的精确时间

代码实现

import pandas as pd

# 读取已有的数据
dataframe = pd.read_csv('filename.dat', sep='\s+', header=None)
# 给列命名(前两列是轮次和采样序号,后面是数据列)
dataframe.columns = ['burst_num', 'sample_idx'] + [f'data_col_{i}' for i in range(1, len(dataframe.columns)-1)]

# 设定数据集的起始时间(替换成你的实际起始时间)
start_datetime = pd.Timestamp('2024-05-20 14:30:00')

# 计算每轮的时间偏移:第n轮的起始时间 = 起始时间 + (n-1)*(采集时长+暂停时长)
burst_time_offset = (dataframe['burst_num'] - 1) * (60 + 300)
# 计算单条采样的时间偏移:第k条采样 = 轮内偏移 + (k-1)*(1/16)秒
sample_time_offset = (dataframe['sample_idx'] - 1) / 16

# 生成每条记录的时间戳列
dataframe['record_datetime'] = start_datetime + pd.to_timedelta(burst_time_offset + sample_time_offset, unit='s')

验证逻辑

  • 第一轮最后一条(burst_num=1, sample_idx=960)的时间应为:start_datetime + 59.9375秒((960-1)/16 = 59.9375)
  • 第二轮第一条(burst_num=2, sample_idx=1)的时间应为:start_datetime + 360秒(60秒采集+300秒暂停)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 23:20:27