Существует функция, которая считает скользящее среднее столбца Y:
df['Y1'] = df.apply(
lambda x: df.loc[
(
(df.X2 < x.X2)
& (df.X2 >= (x.X2 + pd.DateOffset(days=-4)))
& (df.X3 == x.X3)
& (df.X4 == x.X4)
),
"Y",
].mean(),
axis=1,
)
Как мне ввести условие X5 = 1, при котором эта функция будет выполняться.
Если X5 = 1, то мы вычисляем среднее значение, если нет, то Y1 остается пустым.
Уточню, говоря о значении X5 в текущей строке.