使用'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' 函数进行聚合操作。

Pandas DataFrame 聚合操作:使用 agg 和 groupby 函数进行多列自定义聚合

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

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