首页 >后端开发 >Python教程 >如何将多个函数应用于 Pandas 中的多个 Groupby 列?

如何将多个函数应用于 Pandas 中的多个 Groupby 列?

Patricia Arquette
Patricia Arquette原创
2024-12-30 05:28:09372浏览

How to Apply Multiple Functions to Multiple Groupby Columns in Pandas?

将多个函数应用于多个 Groupby 列

概述

在 groupby 操作中将多个函数应用于多个列是数据分析中的常见任务。 Pandas 提供了多种方法来执行此任务,包括使用函数字典或应用返回多个系列的自定义函数。

使用函数字典

对于 Series groupby 对象,您可以应用使用以输出列名作为键的字典的多个函数:

group = pd.groupby("column")
group['column'].agg({'func1': np.mean, 'func2': np.std})

但是,此方法不能在 DataFrame 上使用groupby 对象。

使用 apply

apply 方法允许您应用对组数据执行多项计算的自定义函数。该函数应返回包含结果的系列,使用索引来标记新列。

def func(group_data):
    return pd.Series({
        'func1': group_data['column1'].mean(),
        'func2': group_data['column2'].std(),
    })

group.apply(func)

使用自定义聚合函数

您还可以定义一个自定义聚合函数,该函数利用传递给 apply 方法的 DataFrame 的:

def agg_func(group_data):
    return group_data.agg({'column1': np.mean, 'column2': np.std})

group.agg(agg_func)

处理依赖关系

对于函数依赖于 groupby 对象中的其他列,您可以使用 ix 方法来访问这些列。但是,请注意,此方法已弃用,应替换为 loc:

def func(group_data):
    return group_data.mean().ix['column1']

结论

根据复杂程度,可以使用多种方法来实现对 pandas groupby 对象执行复杂聚合以及所应用功能的依赖性。通过利用 apply 方法或创建自定义聚合函数,您可以高效地执行这些操作并将结果合并到单个 DataFrame 中。

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

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