熊猫Cumsum跳过行

时间:2018-06-07 22:56:17

标签: python pandas cumsum

我有一个如下数据框。

idx vals
0   10
1   21
2   12
3   33
4   14
5   55
6   16
7   77

我想执行cumsum(避免使用for),但只考虑具有相同idx mod 2的行。例如,对于第3行,我希望获得21+33=54,而对于第4行,10+12+14 = 36

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

您只需要groupby

df.vals.groupby(df.idx%2).cumsum()
Out[75]: 
0     10
1     21
2     22
3     54
4     36
5    109
6     52
7    186
Name: vals, dtype: int64