尝试使用假日参数拟合先知模型时发生KeyError:“ 2001-07-04 00:00:00”。假期数据框中没有此密钥

时间:2019-02-18 06:26:45

标签: python pandas datetime keyerror facebook-prophet

我是时间序列分析的新手,正在尝试使用holidays参数将数据拟合到fb先知模型中,但是它在不存在的日期上给出了关键错误。在将整个假期列重命名为其他名称(例如super)时,它很合适,但相同的代码正在我的collegues笔记本电脑上运行。请建议我解决此问题。如果没有假参数,则很合适。

我尝试在我的conda env上重新安装python。我试过在其他IDE上运行它。我也更新了conda

df_holidays_events = pd.read_csv('holidays.csv')

df_holidays = df_holidays_events[['event', 'Date']]

df_holidays.columns = ['holiday', 'ds']

df_holidays.ds = pd.to_datetime(df_holidays.ds)

from fbprophet import Prophet
m = Prophet(changepoint_prior_scale=2.5, holidays=df_holidays)
m.fit(x_train)

这是x_train的样子

DAY month   week    year    ds  y
date                        
2011-01-30  6   1   4   2011    2011-01-30  481
2011-01-31  0   1   5   2011    2011-01-31  522

这是df_holidays数据帧

        holiday         ds
0   4th of July     2012-07-04
1   Labor Day       2012-08-31

它实际上应该适合模型,但不适合模型。

1 个答案:

答案 0 :(得分:0)

问题显然出在熊猫身上,我将其降级到0.23.4版本,它解决了我的问题。希望这对其他人有帮助