热门标签:
Q:

Pandas DataFrame:滚动和扩展功能的区别

任何人都可以帮助我从pandas文档中给出的示例中了解滚动和扩展功能之间的区别。

df = DataFrame({'B': [0, 1, 2, np.nan, 4]})
df
     B
0  0.0
1  1.0
2  2.0
3  NaN
4  4.0


df.expanding(2).sum()
     B
0  NaN  # 0 + NaN
1  1.0  # 1 + 0
2  3.0  # 2 + 1
3  3.0  # ??
4  7.0  # ?? 

df.rolling(2).sum()
     B
0  NaN  # 0 + NaN
1  1.0  # 1 + 0
2  3.0  # 2 + 1
3  NaN  # NaN + 2
4  NaN  # 4 + NaN

我给每一行注释,以显示我对计算的理解。 对于rolling函数来说,这是真的吗? 那expanding呢? 第三排和第四排的第三排和第七排是从哪里来的?

原网址
A:

expanding中的2是min_periods而不是window

df.expanding(min_periods=1).sum()
Out[117]: 
     B
0  0.0
1  1.0
2  3.0
3  3.0
4  7.0

如果你想要相同的结果与rollingwindow将等于dataframe的长度

df.rolling(window=len(df),min_periods=1).sum()
Out[116]: 
     B
0  0.0
1  1.0
2  3.0
3  3.0
4  7.0

相似问题