请关注笔记本底部附近的方块。我无法通过错误消息“ ValueError:数据框包含少于2个非NaN行”来进行预测。
该怎么办?
tic = time.time()
for s in proph_results['shop_id'].unique():
for i in proph_results['item_id'].unique():
proph_train = train.loc[(train['shop_id'] == s) & (train['item_id'] == i)].reset_index()
proph_train.rename(columns={'date': 'ds', 'item_cnt_day': 'y'}, inplace=True)
m = Prophet()
m.fit(proph_train[['ds', 'y']])
future = m.make_future_dataframe(periods=len(test_old.index.unique()), include_history=False)
fcst = m.predict(future)
proph_results.loc[(proph_results['shop_id'] == s) & (proph_results['item_id'] == i), 'sales'] = fcst['yhat'].values
toc = time.time()
if i % 10 == 0:
print("Completed store {} item {}. Cumulative time: {:.1f}s".format(s, i, toc-tic))
答案 0 :(得分:1)
Prophet
在要传递的数据中的行数(不为null)小于2时不能使用。因此,在这种情况下,您无法进行预测。
因此,在拟合模型时会出现错误。
除了向现有数据添加更多(非null)数据外,没有其他解决方案。