Код: Выделить всё
import numpy as np
import pandas as pd
def foo(window):
print(window, "\n-------\n")
return np.array([[1,2,3]])
df = pd.DataFrame({"A": range(10), "B": range(10, 20), "C": range(20, 30)})
df[["D", "F", "G"]] = df.rolling(window=2, method="table").apply(foo,engine="numba", raw=True)
print(df)
- Он работает только с необработанным вариантом (т. е. с моим функция получает numpy.ndarray, а не фрейм данных), поэтому я не могу ссылаться на столбцы по их имени в операциях применяемой функции.
- Возвращаемое значение должно быть иметь такое же количество столбцов, что и входные данные, хотя мне может потребоваться гораздо больше входных столбцов, чем выходных.
Подробнее здесь: https://stackoverflow.com/questions/779 ... rame-slice