如何为Pandas时间序列数据集添加值并递增时间戳索引
解决Pandas时间序列添加数据后索引异常的问题
推荐方式:直接用目标时间戳添加数据
不要通过数字位置(len(testday.index))定位添加,直接用计算好的新时间戳作为索引键赋值,一步到位避免索引错误:
# 确保new_timestamp是datetime类型(比如已通过last_valid_index计算并递增得到) testday.loc[new_timestamp] = testday_predict[0]
补救方式:替换已存在的数字索引
如果已经误添加了数字索引(比如96),可以通过以下两种方法修改:
方法1:重新设置索引
将当前索引转为可修改的列表,替换最后一个元素后重新赋值:
# 获取索引的列表副本 index_list = testday.index.tolist() # 替换最后一个索引值为目标时间戳 index_list[-1] = new_timestamp # 重新设置数据集索引 testday.index = index_list # 可选:确保索引是DatetimeIndex类型 testday.index = pd.to_datetime(testday.index)
方法2:使用rename方法替换指定索引
直接指定要替换的旧索引值(96)和新时间戳:
testday = testday.rename({96: new_timestamp})
注意:操作后建议检查索引类型,确保为
DatetimeIndex,避免后续时间序列操作出错。
内容的提问来源于stack exchange,提问作者bbartling
相关产品推荐
相关产品推荐

