首页 > 后端开发 > Python教程 > 如何使用 pandas GroupBy 将多个聚合函数应用于同一列?

如何使用 pandas GroupBy 将多个聚合函数应用于同一列?

Patricia Arquette
发布: 2024-12-08 11:42:12
原创
455 人浏览过

How Can I Apply Multiple Aggregation Functions to the Same Column Using pandas GroupBy?

使用 GroupBy 对同一列上的多个函数进行聚合

在 Python 的 pandas 库中,GroupBy.agg() 函数提供了一种便捷的方法将聚合函数应用于分组数据。然而,值得注意的是,将多个函数应用于同一列可能会很棘手。

最初,使用以下语法似乎很直观:

df.groupby("dummy").agg({"returns": f1, "returns": f2})
登录后复制

但是,这种方法会失败,因为Python 中不允许重复键。相反,pandas 提供了几种执行此类聚合的方法:

方法 1:函数列表

函数可以作为列表传递:

df.groupby("dummy").agg({"returns": [np.mean, np.sum]})
登录后复制

方法2:字典函数

函数可以作为字典传递,其中键代表列名,值代表函数列表:

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

方法 3:最近更新(如2022-06-20)

在最新版本的 pandas 中,以下语法是首选:

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

此语法不仅可以无缝运行,而且在指定聚合函数和列名称方面提供了更高的清晰度和灵活性。

以上是如何使用 pandas GroupBy 将多个聚合函数应用于同一列?的详细内容。更多信息请关注PHP中文网其他相关文章!

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