Как использовать apply() функцию после rolling() с method="table"
Я пытаюсь прогнать DataFrame с 5 колонками через функцию rolling() и применить к ней apply(). Однако получается так, что при попадании в apply(x) входящий аргумент x имеет вид строки вместо таблицы, как мне добиться передачи в apply(x) таблицы?
def squared_with_numba_cache(x):
# Тяжелые вычисления
return # новый вид строки в DatFrame
df = pd.read_csv(path, header=0,
dtype=
{'open_time': int32, 'open': float16, 'high': float16, 'low': float16, 'close': float16}
).fillna(0)
df1 = df.rolling(window=3,min_periods=3, method='table')
df1.apply(squared_with_numba_cache, engine='cython')
Моя цель: прогнать DataFrame через rolling() и применить к ней engine=numba или engine=cython. В функции ожидаю фрагмент DataFrame с размером window, далее совершаю манипуляции с этим фрагментом и возвращаю 1 строку (что-то по типу агрегирования по скользящему окну)
Идеально, если это будет реализовано вместе с DASK - главное скорость обработки.
Источник: Stack Overflow на русском