如何在Python DataFrame中新增从指定时间开始递增的timestamp列
问题原因
之前的代码直接为整列赋值了单个静态时间值,所以所有行的timestamp字段内容完全一致。
实现方案
使用pandas内置的date_range方法生成匹配DataFrame行数的连续递增时间序列,再赋值到新列即可。
完整代码示例
import pandas as pd import datetime # 自定义起始时间点,按需修改年月日时分秒参数 start_time = datetime.datetime(2024, 1, 1, 0, 0, 0) # 生成和df行数一致的连续时间序列,freq参数为时间间隔 # 常用freq参数:'S'=每秒递增,'T'=每分钟递增,'H'=每小时递增,'D'=每天递增 time_seq = pd.date_range(start=start_time, periods=len(df), freq='T') # 格式化为ISO格式加Z后缀后赋值到新列 df['timestamp'] = time_seq.strftime('%Y-%m-%dT%H:%M:%SZ')
如果不需要ISO字符串格式,直接保留datetime类型的时间列的话,直接执行df['timestamp'] = time_seq即可,后续做时间计算会更方便。
内容的提问来源于stack exchange,提问作者Amzzz
相关产品推荐
相关产品推荐

