Я хотел бы применить скользящую функцию к кадру данных, где, если текущее значение равно nan, оно возвращает nan; в противном случае скользящее окно W будет иметь значения ПРОПУСКАТЬ nan и применяться к значениям W не-нан. Например:
dft = pd.DataFrame({'B': [0, 1, 2, np.nan, 4, np.nan,5]},
index=range(7))
B
0 0.000000
1 1.000000
2 2.000000
3 nan
4 4.000000
5 nan
6 5.000000
Для скользящего среднего окна 3 желаемый результат:
B
0 nan
1 nan
2 1.000000
3 nan
4 2.333300
5 nan
6 3.666700
Обратите внимание: 2,333 — это среднее значение (1,2,4), а 3,667 — это среднее значение (2,4,5).
Остальное поведение, т.е. min_window такой же, как панды.






Пытаться:
df['B'].dropna().rolling(3).mean().reindex(df.index)