使用 Python 分组和聚合数据集

Lyn*_*ynn 2 python numpy pandas

我有一个数据集 df,我想在其中按某个列分组并获取其他列的聚合。

df

version     host    date        name    purpose date
pat         A       12/1/2019   pat     hi      12/1/2019
fam         A       12/1/2019   fam     cat     12/1/2019
set         BB      12/2/2019   set     hi      12/2/2020
ok          BB      12/2/2019   ok      hi      12/2/2020
sure        BB      12/2/2019   sure    cat     12/2/2020
Run Code Online (Sandbox Code Playgroud)

想要的

version host    date        name    purpose date    
2       A       12/1/2019   2       2       12/1/2019   
3       B       12/2/2019   3       3       12/2/2019   
Run Code Online (Sandbox Code Playgroud)

正在做

df.groupby['host].agg({'version' : 'count', 'name': 'count' , 'purpose': 'count'})
Run Code Online (Sandbox Code Playgroud)

但是,这并没有给我所需列的数量。任何建议表示赞赏

Dan*_*rov 5

尝试这个?

>>> df.groupby('host').agg({'version' : 'count', 'name': 'count' , 'purpose': 'count', 'date': 'first'})
      version  name  purpose       date
host
A           2     2        2  12/1/2019
BB          3     3        3  12/2/2019
Run Code Online (Sandbox Code Playgroud)