我是 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())
添加回答
举报
0/150
提交
取消