如何用唯一索引对熊猫列进行求和,然后重置总和?

时间:2018-02-06 20:47:12

标签: python python-3.x pandas sum pandas-groupby

Python新手。我有一个pandas DataFrame如下:

User_ID    Clicks
23         2
19         3
19         5
22         1
98         8
19         1
19         3

我想总结每个User_ID的点击次数,但是我希望在User_ID再次显示新行时重置总和,就像这样。

User_ID    Clicks
23         2
19         8
22         1
98         8
19         4

注意当ID再次出现时,User_ID 19的总和如何重置。

到目前为止,我有:

df.groupby(User_ID)['Clicks'].sum().reset_index()

但它只在一行中添加了所有User_ID 19的点击次数。

1 个答案:

答案 0 :(得分:2)

使用diffcumsum创建群组密钥,然后我们使用agg

df.groupby(df['User_ID'].diff().ne(0).cumsum()).agg({'User_ID':'first','Clicks':'sum'})
Out[1176]: 
         User_ID  Clicks
User_ID                 
1             23       2
2             19       8
3             22       1
4             98       8
5             19       4