我正在尝试将 Pandas DataFrame 放入三天的窗口中。我有两列,A 和 B,我想在每个窗口中求和。我为任务编写的这段代码
df = df.groupby(df.index // 3).agg({'A': 'sum', 'B':'sum'})
进行此求和时将 NaN 值转换为零,但我希望它们保持 NaN,因为我的数据具有实际的非 NaN 零值。
例如,如果我有这个 df:
df = pd.DataFrame([
[np.nan, np.nan],
[np.nan, 0],
[np.nan, np.nan],
[2, 0],
[4 , 0],
[0 , 0]
], columns=['A','B'])
Index A B
0 NaN Nan
1 NaN 3
2 NaN Nan
3 2 0
4 4 0
5 0 0
我希望新的 df 是:
Index A B
0 NaN 3
1 6 0
但我当前的代码输出:
Index A B
0 0 3
1 6 0