预测多个项目的时间序列中的for循环Python数据fbprophet数据帧索引错误

时间:2019-11-27 09:42:59

标签: python pandas dataframe facebook-prophet prophet

我有一个类似的问题,如以下问题中的一个:forecasting values for each category using Prophet in python 我想根据键pcodeid对多个项目进行预测,因此对于每个pcodeid我都需要一个单独的预测。

我更改了代码,使其与上面链接中最佳答案的代码相匹配,但我仍然收到错误消息。

我的部分数据(整个数据集是4年的每月数据和50个pcode):

ds PcodeID y
2015-01-01 AUSTRALIA-P8205 10.36
2015-01-01 AUSTRALIA-P8206 2.06
2015-01-01 AUSTRALIA-P8208 7.1
2015-01-01 AUSTRALIA-P8211 39.76
2015-01-01 AUSTRALIA-P8212 0.61
2015-01-01 AUSTRALIA-P8220 10.38
2015-01-01 AUSTRALIA-P8223 10.35
2015-01-01 AUSTRALIA-P8227 2.99
2015-01-01 AUSTRALIA-P8228 2.99
2015-01-01 AUSTRALIA-P8233 0.28
2015-01-01 AUSTRALIA-P8238 4544
2015-01-01 AUSTRALIA-P8242 894.6
2015-01-01 AUSTRALIA-P8247 7.53
2015-02-01 AUSTRALIA-P8250 194.18
2015-02-01 AUSTRALIA-P8268 6476.96

我的代码:

def get_prediction(df):
    prediction = {}
    df2 = df.rename(columns={'PcodeID' : 'pcodeid'})
    list_pcodeid = df2.pcodeid.unique()

    for pcodeid in list_pcodeid:
        pcodeid_df = df2.loc[df2['pcodeid'] == pcodeid]
        # set the uncertainty interval to 95% (the Prophet default is 80%)
        my_model = Prophet()
        my_model.fit(pcodeid_df)
        future_dates = my_model.make_future_dataframe(periods=12, freq='MS')
        prediction = my_model.predict(future_dates)
        prediction[pcodeid] = prediction
    return prediction

我继续收到第7行“未定义pcodeid”的错误。 该链接下的解决方案人员评论说,此方法对他而言非常有效。 我应该如何定义pcodeid使其按照链接中的问题所述起作用?

很抱歉,如果不清楚,请告诉我,因为这是我在这里遇到的第一个问题。

0 个答案:

没有答案