Панды Cumsum пропустить строки - PullRequest
0 голосов
/ 08 июня 2018

У меня есть кадр данных, подобный следующему.

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 голосов
/ 08 июня 2018

Вам просто нужно 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
...