I have a DataFrame with monthly data that looks something like this:
| id | date | window_in_months | value |
|---|---|---|---|
| 1 | 2000-01-01 | 3 | 20 |
| 1 | 2000-02-01 | 3 | 30 |
| 2 | 2000-01-01 | 12 | 40 |
| 2 | 2000-02-01 | 12 | 60 |
I want to do a rolling groupby but use the value in column window_in_months as the window parameter. I can use a static window by just doing:
df.groupby('id')['value'].rolling(window=3, min_periods=3)
But I can't figure out how to have the window and min_periods change with the group under consideration. The window_in_months will always be the same for all ids that are the same.