#python #matplotlib
#python #matplotlib
Вопрос:
Я строю модель ARIMA, но у меня есть 3 артикула, но я получаю только один график после выполнения цикла. Пожалуйста, помогите
for sku in sku_list:
print()
print(sku)
df_sku = df[df['Product SKU'].isin([sku])]
period_index = 0
y = df_sku.Sales
model = ARIMA(y, order=(2, 1, 0))
results_ARIMA = model.fit(disp=-1)
plt.plot(y)
plt.plot(results_ARIMA.fittedvalues, color='red')
plt.title('RSS: %.4f'% sum((results_ARIMA.fittedvalues-y)**2))
plt.show()
Комментарии:
1. plt.show является блокирующим оператором; вытолкните его за пределы цикла
Ответ №1:
Вы пытались изменить отступ и создать разные наборы данных? Похоже, что ваш цикл возвращает только одно значение.
y=[]
results_ARIMA=[]
for sku in sku_list:
print()
print(sku)
df_sku = df[df['Product SKU'].isin([sku])]
period_index = 0
y.append(df_sku.Sales)
model = ARIMA(y, order=(2, 1, 0))
results_ARIMA.append(model.fit(disp=-1).fittedvalues)
plt.plot(y)
plt.plot(results_ARIMA, color='red')
plt.title('RSS: %.4f'% sum((results_ARIMA-y)**2))
plt.show()