如何根据分组依据和出现次数添加列?

问题描述 投票:1回答:1

我有这个由5列组成的DataFrame:

 print(df)
               Date     Agent   PDF  Pages    Service
        0   2019-11-07  Mery     1    520        A
        1   2019-11-07  Edward   1    569        A
        2   2019-11-07  Mery     2    718        A
        3   2019-11-08  Edward   2    980        A
        4   2019-11-09  Mery     2    717        B
        5   2019-11-09  Edward   3    118        B
        6   2019-12-10  Mery     1    356        B
        7   2019-11-10  Edward   5    248        C
        8   2019-11-11  Mery     3    828        C
        9   2019-11-11  Edward   4    497        C

我创建了一个基于groupby()的变量,下面是Service and Agent列:

X = df.groupby(['Service','Agent']).sum()
print(X)
                    PDF  Pages    
 Service Agent            
    A    Mery        3   1238  
         Edward      3   1549
    B    Mery        3   1073
         Edward      3   118
    C    Mery        3   828
         Edward      9   745

我想添加一列,在其中可以找到['Agent']列的出现次数,如下所示:

                    PDF  Pages Occu 
 Service Agent            
    A    Mery        3   1238   2
         Edward      3   1549   2
    B    Mery        3   1073   2
         Edward      3   118    1
    C    Mery        3   828    1
         Edward      9   745    2

感谢您的帮助!

python-3.x pandas-groupby
1个回答
0
投票
IIUC:

df.groupby(['Service','Agent']).agg({'Pages':sum, 'PDF':sum, 'Agent':len})

© www.soinside.com 2019 - 2024. All rights reserved.