首页 > 解决方案 > 类型错误:+ 不支持的操作数类型:“int”和“DateOffset”

问题描述

我已经在 stackoverflow 中引用了以前的链接,但仍然没有得到确切的答案。我正在使用 Colab 笔记本。我的 df.tail() 看起来像这样:

df.tail()

在此处输入图像描述

我想为预测创建下一个空的 24 行 24 个月我的代码:

from pandas.tseries.offsets import DateOffset

future_dates = [df.index[-1] + DateOffset(months = x) for x in range (0,24)]

它给了我错误:

类型错误:+ 不支持的操作数类型:“int”和“DateOffset”。

标签: pythondatetime

解决方案


df.index是数据帧的索引器,而不是数据帧本身。数据框的默认索引器是 pandasRangeIndex对象。当您索引此对象时,它会返回您的索引解析为的整数索引。负索引从末尾开始计数,[-1]数据帧的最终有效索引也是如此。对于 509 行的数据帧,508 是最后一个有效索引。

相反,您可以使用该iloc方法按整数索引获取行。与所有 pandas 一样,iloc 也有其复杂性(请参阅文档),但您可以这样做

future_dates = [df.iloc[-1]["Date"] + DateOffset(months = x) for x in range (0,24)]

推荐阅读