假设我有此数据框,并且我想基于具有相同数量的标签来汇总和累加列“ a”上的值。
a label
0 1 0
1 3 0
2 5 0
3 2 1
4 2 1
5 2 1
6 3 0
7 3 0
8 4 1
所需的结果将是:
a label
0 9 0
1 6 1
2 6 0
3 4 1
不是这个:
a label
0 15 0
1 10 1
答案 0 :(得分:2)
IIUC
s=df.groupby(df.label.diff().ne(0).cumsum()).agg({'a':'sum','label':'first'})
s
Out[280]:
a label
label
1 9 0
2 6 1
3 6 0
4 4 1