我有一个Pandas系列df的时间序列数据集,我试图在df的底部添加一个新值,然后增加时间戳,这是df索引。
例如,我可以像这样在df的底部添加新值:
testday.loc[len(testday.index)] = testday_predict[0]
print(testday)
这似乎工作,但时间戳只是增加:
kW
Date
2022-07-29 00:00:00 39.052800
2022-07-29 00:15:00 38.361600
2022-07-29 00:30:00 38.361600
2022-07-29 00:45:00 38.534400
2022-07-29 01:00:00 38.880000
... ...
2022-07-29 23:00:00 36.806400
2022-07-29 23:15:00 36.806400
2022-07-29 23:30:00 36.633600
2022-07-29 23:45:00 36.806400
96 44.482361 <---- my predicted value added at the bottom good except for the time stamp value of 96
就像96
的值是df长度的下一个值。希望这是有意义的。
如果我尝试:
from datetime import timedelta
last_index_stamp = testday.last_valid_index()
print(last_index_stamp)
这回报:
Timestamp('2022-07-29 23:45:00')
然后我可以给这个时间戳添加15分钟(我的数据是15分钟数据),像这样:
new_timestamp = last_index_stamp + timedelta(minutes=15)
print(new_timestamp)
它返回我正在寻找的而不是96
的值:
Timestamp('2022-07-30 00:00:00')
但是如何用new_timestampt
替换96
的值呢?如果我尝试:
testday.index[-1:] = new_timestamp
这将出错:
TypeError: Index does not support mutable operations
任何提示都非常感谢…
这应该能奏效:
testday.loc[new_timestamp,:] = testday_predict[0]