У меня есть датафрейм под названием «dataframe», который содержит кучу информации о продажах за определенную дату. Каждая запись даты представлена в формате ГГГГ-ММ-ДД, и данные варьируются с 2012 по 2017 год. Я хотел бы разбить этот фрейм данных на 6 отдельных фреймов данных, по одному на каждый год. Так, например, первый разделенный фрейм данных будет содержать все записи с 2012 года.
Я думаю, что смог сделать это в коде ниже. Я делю данные на один для каждого года и помещаю их в список «лет». Однако, когда я пытаюсь запустить auto_arima на каждом кадре данных, я получаю сообщение об ошибке «Найдено входные переменные с непоследовательным количеством выборок».
Я думаю, это потому, что я неправильно разделяю свой исходный кадр данных. Как правильно разделить мой фрейм данных по году?
#Partition data into years
years = [g for n, g in dataframe.set_index('Date').groupby(pd.Grouper(freq='Y'))]
#Create a list that will hold all auto_arima results for every dataframe
stepwise_models = []
#Call auto_arima on every dataframe
for x in range(len(years)-1):
currentDf = years[x]
model = auto_arima(currentDf['price'], exogenous=xreg, start_p=1, start_q=1,
max_p=3, max_q=3, m=12,
start_P=0, seasonal=True,
d=1, D=1, trace=True,
error_action='ignore',
suppress_warnings=True,
stepwise=True)
stepwise_models.append(model) #Store current auto_arima result in our stepwise_models[] list