【发布时间】:2018-09-26 00:41:20
【问题描述】:
早安,
我有以下数据框:
a = [1,2,3,4,5,6]
b = pd.DataFrame({'a': a})
我想创建一个列,对列“a”的下“n”行求和,包括 a 的现值;我试过了:
n = 2
b["r"] = pd.rolling_sum(b.a, n) + a
print(b)
a r
0 1 NaN
1 2 5.0
2 3 8.0
3 4 11.0
4 5 14.0
5 6 17.0
如果有的话会很高兴:
a r
0 1 1 + 2 + 3 = 6
1 2 2 + 3 + 4 = 9
2 3 3 + 4 + 5 = 12
3 4 4 + 5 + 6 = 15
4 5 5 + 6 + 0 = 11
5 6 6 + 0 + 0 = 6
【问题讨论】:
-
从 pandas 1.1 开始,您可以使用
FixedForwardWindowIndexer轻松做到这一点。
标签: python pandas rolling-sum