@nicolette.stoltenberg
Для применения метода rolling к нескольким столбцам DataFrame в pandas, следует использовать методы apply
или agg
в комбинации с методом rolling
.
Пример:
1 2 3 4 5 6 7 8 9 10 |
import pandas as pd # Создаем DataFrame df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10]}) # Применяем метод rolling для столбцов A и B, суммируя их значения за последние 2 элемента df_rolling_sum = df.rolling(window=2).apply(lambda x: x['A'].sum() + x['B'].sum(), raw=True) print(df_rolling_sum) |
Результат:
1 2 3 4 5 6 |
A B 0 NaN NaN 1 7.0 13.0 2 9.0 15.0 3 8.0 17.0 4 9.0 19.0 |
В данном примере мы создаем новый DataFrame df_rolling_sum
, в котором применяем метод rolling с окном равным 2 для столбцов A и B. Затем, мы используем метод apply
для суммирования значений обоих столбцов за последние 2 элемента и сохраняем результат в новый столбец. Параметр raw=True
используется для передачи сырых данных в функцию lambda
.