0
Что у меня есть:панды rolling_max с GroupBy
Sym Date close
A 1-Jan 45
A 2-Jan 15
A 3-Jan 55
B 1-Jan 41
B 2-Jan 87
B 3-Jan 82
C 1-Jan 33
C 2-Jan 15
C 3-Jan 46
Что мне нужно
Sym Date close rolling_max_2day
A 1-Jan 45 NaN
A 2-Jan 15 45
A 3-Jan 55 55
B 1-Jan 41 NaN
B 2-Jan 87 87
B 3-Jan 82 87
C 1-Jan 33 NaN
C 2-Jan 15 33
C 3-Jan 46 46
dataframe df
это с многократным индексом (Sym, Дата)
Я попытался, как это:
df['rolling_max_2day'] = df.groupby(level=['sym']).apply(lambda x:pd.rolling_max(x['close'].values,2))
не возвращает никаких ошибок, но также возвращает все нулевое значение в столбце rolling_max_2day
Однако, если только этот код не добавляется к df
, я могу получить правильную серию.
df.groupby(level=['sym']).apply(lambda x:pd.rolling_max(x['close'].values,2))
Спасибо!
Это работает! Однако, почему мой mothod не является правильным? – seizetheday