首页 > 后端开发 > Python教程 > 如何将多个聚合应用于 Pandas 中的同一列?

如何将多个聚合应用于 Pandas 中的同一列?

Mary-Kate Olsen
发布: 2024-12-23 03:07:26
原创
238 人浏览过

How Can I Apply Multiple Aggregations to the Same Column in Pandas?

在 Pandas 中对同一列应用多个聚合

在 pandas 中,GroupBy.agg() 提供了一种便捷的方法来执行多个函数分组数据。然而,使用 agg() 将不同的函数应用于同一列似乎具有挑战性。

传统上,语法上不正确但所需的方法是将重复的键传递给 agg() 的字典参数,这不是Python 中允许。

为了解决这个问题,pandas 提供了几个选项:

选项 1:列表元组

截至 2022 年 6 月 20 日,首选方法是向 agg() 提供元组 [(column, function)] 列表,其中每个元组代表要执行的聚合指定列。

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

选项 2:嵌套字典

另一种方法是使用嵌套字典,其中外部键是列,内部值是要应用的函数。

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

选项3:函数列表

对于 pandas 的历史版本,另一种选择是将函数作为列表传递给agg() 的字典参数。

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

通过利用这些选项,您可以方便地对同一列执行多个聚合,而不需要辅助函数或多次显式调用 agg()。

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

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