Groupby并将特定功能应用于某些列,并将另一功能应用于其他df Pandas

时间:2020-07-28 02:27:01

标签: pandas group-by aggregate

我想将一个带有+30列的df分组,其中大多数都对它们应用了“均值”功能,但对特定的“计数”功能。我正在尝试:

df.groupby('id').agg({'var1':'count',
                       'var2':'count', 
                       'var3':'mean', 
                       'var4':'mean,
                       'var5':'mean'...}) 

以此类推。但我想找到其他更有效的方法。

1 个答案:

答案 0 :(得分:1)

您可以在agg

中添加其他内容
df = df.groupby('id').agg(lambda x : x.count() if x.name in ['var1','var2'] else x.mean())
相关问题