利用多个自定义函数聚合操作并且聚合操作涉及到dataframe中的多个列agg和groupby怎么写
使用agg函数和groupby函数可以实现对DataFrame中的多个列进行聚合操作。下面是一个示例:
import pandas as pd
# 创建示例DataFrame
data = {'Name': ['John', 'Alice', 'Bob', 'John', 'Alice', 'Bob'],
'Age': [25, 30, 35, 40, 45, 50],
'Salary': [5000, 6000, 7000, 8000, 9000, 10000]}
df = pd.DataFrame(data)
# 定义自定义函数
def sum_age(s):
return s.sum()
def avg_salary(s):
return s.mean()
def max_age(s):
return s.max()
# 使用agg函数进行聚合操作
result = df.groupby('Name').agg({'Age': [sum_age, max_age], 'Salary': avg_salary})
print(result)
输出结果为:
Age Salary
sum_age max_age avg_salary
Name
Alice 75 45 7500
Bob 85 50 8500
John 65 40 6500
上述示例中,我们使用agg函数对Age列进行了两个自定义聚合操作(求和和最大值),并对Salary列进行了一个自定义聚合操作(平均值)。agg函数的参数是一个字典,字典的键是要聚合的列名,值是一个列表,列表中的元素是自定义函数。最后,我们使用groupby函数将DataFrame按照Name列进行分组,然后对每个分组应用agg函数进行聚合操作。
原文地址: http://www.cveoy.top/t/topic/ja3I 著作权归作者所有。请勿转载和采集!