首页 > 后端开发 > Python教程 > 如何使用 Pandas GroupBy.agg() 在单个列上执行多个聚合?

如何使用 Pandas GroupBy.agg() 在单个列上执行多个聚合?

Linda Hamilton
发布: 2024-12-10 17:31:10
原创
606 人浏览过

How to Perform Multiple Aggregations on a Single Column Using Pandas GroupBy.agg()?

使用 Pandas GroupBy.agg() 在同一列上进行多个聚合

使用 Pandas 时,通常需要对同一列。虽然直观,但在 agg() 方法中多次指定同一列的直接方法在语法上并不正确。这就引出了如何使用 GroupBy.agg() 有效且简洁地将不同聚合函数应用于单个列的问题。

解决方案

截至 2022-06- 20、多重聚合的推荐做法是使用字典语法:

df.groupby('dummy').agg({
    'returns': {'Mean': np.mean, 'Sum': np.sum}
})
登录后复制

在此例如,“returns”列与平均值和总和函数一起聚合。生成的 DataFrame 将包含两个新列“Mean”和“Sum”,它们显示各自的聚合。

历史记录

采用字典之前语法上,多重聚合有两种替代方法:

  1. 传递作为列表的函数:
df.groupby('dummy').agg({'returns': [np.mean, np.sum]})
登录后复制

此方法将函数作为列表直接传递给 agg()。 DataFrame 将包含两个新列,分别包含平均值和总和聚合的结果。

  1. 将函数作为嵌套字典传递:
df.groupby('dummy').agg({'returns': {'f1': np.mean, 'f2': np.sum}})
登录后复制

与列表方法类似,函数作为字典中的字典传递。内部字典的键指定函数名称,而值是聚合函数。 DataFrame 将为每个指定的函数名称有一列。

以上是如何使用 Pandas GroupBy.agg() 在单个列上执行多个聚合?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板