Python 熊猫翻滚意味着跳过南极洲

Python 熊猫翻滚意味着跳过南极洲,python,pandas,Python,Pandas,我想对数据帧应用一个滚动函数,如果当前值为nan,它将返回nan;否则,滚动窗口W将跳过nan值,并应用于非nan值。例如: 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

我想对数据帧应用一个滚动函数,如果当前值为nan,它将返回nan;否则,滚动窗口W将跳过nan值,并应用于非nan值。例如:

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)