Нахождение скользящего максимального подъема и стандартных отклонений в сгруппированных df - PullRequest
0 голосов
/ 19 января 2020

В этом кадре данных ...

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.

Требуемый результат с формулой поддержки приведен в соответствующих полях на следующем рисунке:

df with computation

Можно ли получить это, используя 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()]
...