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

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

Patricia Arquette
Patricia Arquette原创
2024-12-08 11:42:12458浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn