Pandas 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' 函数进行聚合操作。
原文地址: https://www.cveoy.top/t/topic/igDk 著作权归作者所有。请勿转载和采集!