Я ищу способ легко выполнить агрегацию панд через скользящее окно. Например, 90-дневный скользящий день или 12-месячный ежемесячный.
Если я хочу вычислить среднемесячное значение, я очень легко могу сделать что-то вроде data.groupby([pd.Grouper(freq='M')]).agg({'value': 'mean', 'count': 'sum'})
.
Однако в этом случае я хочу вычислить среднее значение по всем наблюдениям за период предыдущего года, представляемый ежемесячно (или 30- или 90-дневный период, агрегированный ежедневно). Я не хочу усреднить средние значения (например, из повторной выборки), поскольку некоторые агрегации, такие как геометрические средние значения, не будут правильно рассчитываться.
Есть ли хитрый, идиоматический способ сделать это? Все, что я до сих пор делал, это несколько десятков строк кода, дублирующих раздел фрейма данных для каждого блока, и я чувствую, что должно быть что-то чище / быстрее.
Спасибо!