总结前10行的数据帧

nov*_*aly 6 python numpy python-3.x pandas

我想知道如何从任何点总结10行数据帧.

我尝试使用滚动(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 
Run Code Online (Sandbox Code Playgroud)

这类似于在excel中执行此操作并将其复制下来

Excel示例:

Excel示例

jpp*_*jpp 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
Run Code Online (Sandbox Code Playgroud)

  • 很好的解决方案。我喜欢使用 [::-1] 反转元素。+1 (2认同)
  • 这很有效。我有点惊讶没有更直接的方法来做到这一点(来自大量使用 Excel)。无论如何,非常感谢您的帮助! (2认同)