python - 通过 agg 为 pandas 组编写多个列名
问题描述
我想在熊猫中进行分组并计算多个不同列的总和和平均值。下面是一个例子。
grouped =df.groupby(['id']).agg({
'column1': ['sum','avg'],
'column2': ['sum','avg'],
'column3': ['sum','avg'],
'column4': ['sum','avg']
....
'column8': ['sum','avg'] })
如何避免编写每个列名。有没有办法将它与所有列的某种类型的函数结合起来,所以我只能写 ['sum', 'avg'] 一次?
解决方案
你可以这样做:
df[cols_list].groupby(['id']).agg([np.mean, np.std])
cols_list
您感兴趣的列的列表在哪里加上您的id
,所以它仍然可以分组:['id','column1',...,'column8']
在您的示例中。
推荐阅读
- flutter - TextFormField 上的粘贴事件不适用于 onChange Flutter
- javascript - 包中定义的 MeteorJS javascript 函数未定义
- reactjs - DOM 未在 React 中刷新
- vb.net - Short vs UShort:十六进制到十进制
- javascript - 如何使用文本输入而不是选项友好的输入(收音机、列表等)进行测验,这些输入仍然告诉您 HTML 中的对错?
- arrays - 如何修复这个 Numpy 错误:数组的索引过多?
- javascript - pixi.js PIXI.Texture.from() 无法添加图片
- python - VS Code SyntaxError:无效的语法文件“
",第 1 行 - mysql - 使用mysql中的其他表列总和填充一行的数据
- amazon-web-services - Terraform、EKS 和 aurora-mysql 无服务器 RDS - 同一 AZ 中的子网