У меня есть следующий фрейм данных панд, который содержит 5-минутные внутридневные данные.DeltaBetweenClose - NaN
для первого торгового бара в день открытия рынка (9:30 EST).
time Date symbol DeltaBetweenClose
9:35 2017-07-17 spy NaN
9:40 2017-07-17 spy -1.2
..........................................
..........................................
16:00 2018-07-17 spy 1.7
9:35 2017-07-18 spy NaN
9:40 2017-07-18 spy 0.3
..........................................
..........................................
9:35 2018-07-17 nflx NaN
Я пытаюсь создать столбец CloseDelta_sd
, который вычисляет скользящее стандартное отклонение столбца DeltaBetweenClose
, сгруппированного по symbol
с, который просматривает предыдущие 30 баров и вычисляет стандартное отклонение при игнорировании NaN
s.Моя следующая попытка возвращает все NaN
с.Он работает, когда в верхней части столбца DeltaBetweenClose
находится только один NaN
.
df['CloseDelta_sd'] = df.groupby('symbol').DeltaBetweenClose.transform(lambda x: x.rolling(30).std())