我想知道如何从任何点总结一个数据帧的10行。
我尝试使用rolling(10,window = 1).sum(),但第一行应该总结下面的10行。 cumsum()类似问题
因此,如果我的数据框只是A列,则id会喜欢它以输出B。
A B
0 10 550
1 20 650
2 30 750
3 40 850
4 50 950
5 60 1050
6 70 1150
7 80 1250
8 90 1350
9 100 1450
10 110 etc
11 120 etc
12 130 etc
13 140
14 150
15 160
16 170
17 180
18 190
这类似于在excel中执行此操作并将其复制下来
Excel示例:
答案 0 :(得分:3)
您可以在使用pd.Series.rolling
之前反转系列,然后反转结果:
df['B'] = df['A'][::-1].rolling(10, min_periods=0).sum()[::-1]
print(df)
A B
0 10 550.0
1 20 650.0
2 30 750.0
3 40 850.0
4 50 950.0
5 60 1050.0
6 70 1150.0
7 80 1250.0
8 90 1350.0
9 100 1450.0
10 110 1350.0
11 120 1240.0
12 130 1120.0
13 140 990.0
14 150 850.0
15 160 700.0
16 170 540.0
17 180 370.0
18 190 190.0