为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Facebook Prophet 创建循环 SKU 的预测并导出到 CSV

使用 Facebook Prophet 创建循环 SKU 的预测并导出到 CSV

红糖糍粑 2022-07-19 20:16:22
我是 Python 新手,所以请多多包涵。我正在尝试将我认为可能是嵌套字典的内容转换为可以导出的 csv。下面是我的代码:import pandas as pdimport os from fbprophet import Prophet# Read in Filedf1 = pd.read_csv('File_Path.csv')#Create Loop to Forecast Multiple SKUsdef get_prediction(df):prediction = {}df1 = df.rename(columns={'Date': 'ds','qty_ordered': 'y', 'item_no': 'item'})list_items = df1.item.unique()for item in list_items:    item_df = df1.loc[df1['item'] == item]    # set the uncertainty interval to 95% (the Prophet default is 80%)    my_model = Prophet(yearly_seasonality= True, seasonality_prior_scale=1.0)    my_model.fit(item_df)    future_dates = my_model.make_future_dataframe(periods=12, freq='M')    forecast = my_model.predict(future_dates)    prediction[item] = forecastreturn prediction# Save predictions to dictionarydf2 = get_prediction(df1)# Convert dictionarydf3 = pd.DataFrame.from_dict(df3, index='columns)所以代码的最后一部分是我苦苦挣扎的地方。我需要将 df2 字典转换为数据框 (df3),以便将其导出为 csv。但它看起来好像是一个嵌套字典?不确定我是否需要更新我的功能。这是字典片段的样子我需要导出它,所以它看起来像这样
查看完整描述

2 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

下面的代码应该有助于展平df2(如果我理解正确的话,数据框的字典)。


def flatten(dict_of_df):

    # insert column 'item'

    for key, value in dict_of_df.items():

        value['item'] = key


    # return vertically concatenated dataframe with all the items

    return pd.concat(dict_of_df.values())


查看完整回答
反对 回复 2022-07-19
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

我可以看到更改后的完整代码吗?我正在努力解决类似的问题。



查看完整回答
反对 回复 2022-07-19
  • 2 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信