要利用多个自定义函数进行聚合操作,可以使用'agg'函数和'groupby'方法。

首先,我们需要定义自定义函数。自定义函数可以是匿名函数或命名函数。例如,我们定义两个自定义函数'mean_plus_median'和'sum_squared':

mean_plus_median = lambda x: x.mean() + x.median()
sum_squared = lambda x: (x**2).sum()

然后,我们可以使用'agg'函数将这些自定义函数应用于'groupby'对象。'agg'函数的参数是一个字典,其中键是要聚合的列名,值是要应用的聚合函数。例如,我们将'mean_plus_median'应用于'col1'列,将'sum_squared'应用于'col2'列:

df.groupby('group_col').agg({'col1': mean_plus_median, 'col2': sum_squared})

这将返回一个新的 DataFrame,其中包含按'group_col'分组的'col1'列的平均值加上中位数,以及'col2'列的平方和。

完整的代码示例:

import pandas as pd

# 定义自定义函数
mean_plus_median = lambda x: x.mean() + x.median()
sum_squared = lambda x: (x**2).sum()

# 创建示例数据
data = {'group_col': ['A', 'A', 'B', 'B', 'B'],
        'col1': [1, 2, 3, 4, 5],
        'col2': [2, 4, 6, 8, 10]}
df = pd.DataFrame(data)

# 使用agg和groupby进行聚合操作
result = df.groupby('group_col').agg({'col1': mean_plus_median, 'col2': sum_squared})
print(result)

输出结果:

           col1  col2
group_col            
A           2.5    20
B           6.5   200

以上代码示例演示了如何使用多个自定义函数进行聚合操作。您可以根据自己的需求定义不同的自定义函数,并将它们应用于不同的列。

Pandas 聚合操作:使用自定义函数进行分组计算

原文地址: https://www.cveoy.top/t/topic/igE5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录