我想以熊猫为一组,并计算多个不同列的总和和平均值。下面是一个示例。
grouped =df.groupby(['id']).agg({
'column1': ['sum','avg'],
'column2': ['sum','avg'],
'column3': ['sum','avg'],
'column4': ['sum','avg']
....
'column8': ['sum','avg'] })
如何避免写每个列名称。有没有一种方法可以将所有列与某种类型的函数结合使用,所以我只能写一次['sum','avg']吗?
答案 0 :(得分:2)
您可以执行以下操作:
df[cols_list].groupby(['id']).agg([np.mean, np.std])
cols_list
是您感兴趣的列加上您的id
的列表,因此在您的示例中它仍然可以分组:['id','column1',...,'column8']
。