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

非固定时间间隔数据集如何为重复时间戳行分配唯一时间戳

解决方法

实现逻辑

  • 保留原有时间戳的先后顺序,给同一时间戳下的每行依次叠加极小的时间偏移量,生成唯一时间戳,偏移量的粒度可根据你的业务容忍度调整,不会破坏原始时间的语义。
  • 不需要插值,适配同时间戳行数不固定、时间步长不固定的场景。

具体代码实现

首先先将时间列转换为pandas标准时间格式:
df['timestamp'] = pd.to_datetime(df['timestamp'])

随后生成唯一时间戳:

# 给同一时间戳下的行按原始顺序生成从0开始的序号
df['grp_seq'] = df.groupby('timestamp').cumcount()

# 叠加时间偏移,这里以1毫秒为最小偏移单位,可按需替换
# 微秒偏移:pd.Timedelta(microseconds=1),纳秒偏移:pd.Timedelta(nanoseconds=1)
df['unique_timestamp'] = df['timestamp'] + df['grp_seq'] * pd.Timedelta(milliseconds=1)

# 可选:删除临时生成的序号列
df.drop('grp_seq', axis=1, inplace=True)

注意事项

  • 如果你原始时间戳之间的最小间隔小于你选择的偏移单位,比如原始时间戳间隔只有0.5毫秒,那就把偏移单位改成更小的微秒即可,避免出现后一组的时间戳加完偏移后早于前一组的情况。
  • 你之前写的统计行数的代码有两处拼写错误,修正后版本为:pd.DataFrame(df.groupby(['timestamp'])['A'].count())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:06:03