Pandas - разбить фрейм данных на несколько фреймов на основе дат?

У меня есть датафрейм с несколькими столбцами вместе со столбцом даты. Формат даты - 31.12.15, и я установил его как объект даты и времени.

Я установил столбец datetime в качестве индекса и хочу выполнить регрессионное вычисление для каждого месяца кадра данных.

Я полагаю, что методология для этого будет разделять фреймы данных на несколько фреймов, основанных на месяце, сохранять в списке фреймов данных, а затем выполнять регрессию для каждого фрейма данных в списке.

Я использовал groupby, которая успешно разбивала фрейм данных по месяцам, но я не уверен, как правильно преобразовать каждую группу в объекте groupby в фрейм данных, чтобы иметь возможность запускать на нем мою функцию регрессии.

Кто-нибудь знает, как разбить фрейм данных на несколько фреймов на основе даты, или лучший подход к моей проблеме?

Вот мой код, который я написал до сих пор

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')

Ответы на вопрос(2)

Ваш ответ на вопрос