下一个N元素的滚动总和,包括当前元素

时间:2018-04-16 10:00:44

标签: python pandas rolling-sum

早上好,

我有以下数据框:

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

1 个答案:

答案 0 :(得分:1)

反转,然后将rolling_summin_periods=1一起使用,然后再反转。

b.a[::-1].rolling(3, min_periods=1).sum()[::-1]

0     6.0
1     9.0
2    12.0
3    15.0
4    11.0
5     6.0
Name: a, dtype: float64