В этом кадре данных ...
Grp Day Value
A 1 0.5
A 2 0.75
A 3 1.2
A 4 0.8
B 1 0.3
B 2 0.8
B 3 0.2
B 4 0.1
B 5 0.5
... Я пытаюсь вычислить максимальный рост MaxRise
и максимальное стандартное отклонение MaxStDev
в движущемся окне на основе поля Day
.
Требуемый результат с формулой поддержки приведен в соответствующих полях на следующем рисунке:
Можно ли получить это, используя pandas 'функции прокрутки / расширения?
Пробные трюки вроде этого безрезультатны:
dfg = df.groupby('Grp')
dfg['MaxRise'] = [dfg.Value.rolling(i).apply(lambda x: x[0] - x[-1], raw=True).max() for i in range(1, dfg.index.max()]