Pandas - Dividir o quadro de dados em vários quadros de dados com base em datas?
Eu tenho um quadro de dados com várias colunas junto com uma coluna de data. O formato da data é 31/12/15 e eu o defini como um objeto datetime.
Defino a coluna datetime como o índice e quero executar um cálculo de regressão para cada mês do quadro de dados.
Acredito que a metodologia para fazer isso seria dividir o quadro de dados em vários quadros de dados com base no mês, armazenar em uma lista de quadros de dados e executar a regressão em cada quadro de dados da lista.
Eu usei groupby, que divide com êxito o quadro de dados por mês, mas não tenho certeza de como converter corretamente cada grupo no objeto groupby em um quadro de dados para poder executar minha função de regressão nele.
Alguém sabe como dividir um quadro de dados em vários quadros de dados com base na data ou em uma abordagem melhor para o meu problema?
Aqui está o meu código que escrevi até agora
import pandas as pd
import numpy as np
import statsmodels.api as sm
from patsy import dmatrices
df = pd.read_csv('data.csv')
df['date'] = pd.to_datetime(df['date'], format='%Y%m%d')
df = df.set_index('date')
# Group dataframe on index by month and year
# Groupby works, but dmatrices does not
for df_group in df.groupby(pd.TimeGrouper("M")):
y,X = dmatrices('value1 ~ value2 + value3', data=df_group,
return_type='dataframe')