Pandas Cumsum 跳过行
Pandas Cumsum skip rows
我有一个如下所示的数据框。
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
.
有什么想法吗?
你只需要 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
我有一个如下所示的数据框。
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
.
有什么想法吗?
你只需要 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