通过操作

时间:2017-09-22 11:52:20

标签: python pandas dataframe group-by pandas-groupby

我有一张包含以下数据的表格:

day         concept    click    item_id 
2015-05-01    A          6     s4P~Hzs1w5R12Dpyn2IK
              B          6     s4P~Hzs1w5R12Dpyn2IK
              C          1     DOwfmfFvdEIZ1IdXqTiu
              D          1     wPaYuIh~t8y7rU3HP43N
              D          7     Ya_M~2N6eX0kem8IgdSp

我希望每天获取所有item_id的distint item_id和sum点击次数,例如:

day         concept       click    count_item_id    
2015-05-01    A          6        1
              B          6        1
              C          1        1
              D          8        2

我使用Python和Pandas库

2 个答案:

答案 0 :(得分:2)

使用groupby后跟agg

df.groupby(['day', 'concept']).agg({'click' : 'sum', 'item_id' : 'count'})
Out[429]: 
                    item_id  click
day        concept                
2015-05-01 A              1      6
           B              1      6
           C              1      1
           D              2      8

答案 1 :(得分:0)

请检查这是否是您想要的:

df[['day', 'concept']].groupby(['click', 'item_id']).agg(['sum', 'count'])