首页 > 编程知识 正文

Pandas agg函数应用用法介绍

时间:2023-11-21 06:28:31 阅读:298826 作者:PKGL

agg函数是Pandas库中的一个重要函数,用于对数据进行聚合操作。本文将从多个方面对Python的agg函数进行详细阐述。

一、agg函数概述

agg函数是DataFrame对象的一个方法,用于对数据进行聚合操作。通过传入不同的聚合函数或自定义函数,我们可以对数据进行各种统计和计算。

import pandas as pd

# 创建示例数据
data = {'Name': ['Tom', 'Nick', 'John', 'Tom', 'Nick'],
        'Age': [28, 32, 25, 28, 32],
        'Score': [80, 90, 85, 82, 88]}
df = pd.DataFrame(data)

# 使用agg函数计算平均值和总和
result = df.agg(['mean', 'sum'])
print(result)

上述代码中,我们创建了一个包含姓名、年龄和成绩的DataFrame对象,并使用agg函数计算了平均值和总和。运行结果如下:

      Name   Age  Score
mean   NaN  29.0   85.0
sum    NaN  145.0  425.0

二、常用的聚合函数

agg函数支持多种常用的聚合函数,包括求和(sum)、平均值(mean)、最大值(max)、最小值(min)等。

# 使用agg函数计算各列的平均值和总和
result = df.agg({'Age': ['mean', 'sum'], 'Score': ['mean', 'sum']})
print(result)

上述代码中,我们使用agg函数对年龄和成绩列分别求取平均值和总和。运行结果如下:

      Age  Score
mean  29.0   85.0
sum  145.0  425.0

三、自定义函数

除了常用的聚合函数外,agg函数还支持自定义函数。我们可以根据自己的需求编写函数,并传入agg函数进行计算。

# 自定义函数,计算字符串长度的平均值和总和
def avg_len(s):
    return s.str.len().mean()

def sum_len(s):
    return s.str.len().sum()

# 使用agg函数应用自定义函数
result = df.agg({'Name': [avg_len, sum_len]})
print(result)

上述代码中,我们定义了两个自定义函数avg_len和sum_len,分别用于计算字符串长度的平均值和总和。然后使用agg函数对姓名列应用这两个自定义函数。运行结果如下:

        Name
avg_len   3.4
sum_len  17.0

四、分组聚合

除了对整个数据进行聚合外,agg函数还可以通过分组参数进行分组聚合操作。我们可以通过指定分组列,对数据进行分组后再进行聚合计算。

# 使用agg函数进行分组聚合
result = df.groupby('Name').agg({'Age': 'mean', 'Score': 'sum'})
print(result)

上述代码中,我们通过agg函数对姓名列进行分组聚合,计算了不同姓名的年龄平均值和成绩总和。运行结果如下:

      Age  Score
Name             
John   25     85
Nick   32    178
Tom    28    162

五、多个聚合函数

agg函数还支持同时使用多个聚合函数进行计算。我们可以通过使用列表来传入多个聚合函数。

# 使用agg函数同时计算平均值和总和
result = df.agg({'Age': ['mean', 'sum'], 'Score': ['mean', 'sum']})
print(result)

上述代码中,我们使用agg函数同时计算了年龄和成绩列的平均值和总和。运行结果如下:

      Age  Score
mean  29.0   85.0
sum  145.0  425.0

六、总结

本文详细介绍了Python的agg函数的使用方法和应用场景。通过agg函数,我们可以方便地进行数据的聚合操作,包括常见的聚合函数和自定义函数等。同时,agg函数还支持分组聚合和同时使用多个聚合函数进行计算。这些功能使得我们能够更灵活、高效地处理数据。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。