首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

[教程]揭秘Python中的agg:聚合函数的强大作用,轻松处理复杂数据!

发布于 2025-06-25 12:30:46
0
1165

引言在数据分析领域,处理和分析大量数据是一项基本技能。Python作为一种广泛使用的数据分析工具,提供了许多强大的库,如Pandas。Pandas库中的agg函数是进行数据聚合操作的神器,它能够帮助开...

引言

在数据分析领域,处理和分析大量数据是一项基本技能。Python作为一种广泛使用的数据分析工具,提供了许多强大的库,如Pandas。Pandas库中的agg函数是进行数据聚合操作的神器,它能够帮助开发者轻松地处理复杂数据。

什么是agg函数?

agg函数是Pandas库中DataFrameSeries对象的一个方法,用于在数据集上执行多种聚合操作。它允许用户指定一个或多个聚合函数,并对指定列或索引进行聚合。

agg函数的基本语法

DataFrame.agg(func, axis=0, args=None, kwargs=None)
Series.agg(func, axis=None, args=None, kwargs=None)
  • func:一个或多个聚合函数,可以是函数、字符串或函数列表。
  • axis:指定应用聚合函数的轴,0表示列,1表示行。默认值是0。
  • argskwargs:可选参数,用于传递给聚合函数的额外参数。

常用的聚合函数

以下是Pandas中一些常用的聚合函数:

  • sum:计算总和。
  • mean:计算平均值。
  • median:计算中位数。
  • min:计算最小值。
  • max:计算最大值。
  • std:计算标准差。
  • var:计算方差。

示例:使用agg函数进行数据聚合

假设我们有一个包含以下数据的DataFrame:

import pandas as pd
data = { 'Name': ['Alice', 'Bob', 'Charlie', 'David'], 'Age': [25, 30, 35, 40], 'Salary': [50000, 60000, 70000, 80000]
}
df = pd.DataFrame(data)

现在,我们想要计算每个年龄段(20-29,30-39,40-49)的平均薪资:

def age_group(age): if 20 <= age <= 29: return '20-29' elif 30 <= age <= 39: return '30-39' elif 40 <= age <= 49: return '40-49' else: return 'Other'
df['AgeGroup'] = df['Age'].apply(age_group)
result = df.groupby('AgeGroup')['Salary'].agg(['mean', 'count'])
print(result)

输出结果:

 mean count
AgeGroup
20-29 55000 1
30-39 65000 1
40-49 75000 1
Other NaN 0

高级用法:自定义聚合函数

除了内置的聚合函数外,还可以使用自定义函数进行聚合操作。以下是一个自定义函数的示例:

def custom_agg(series): return series.max() - series.min()
result = df.groupby('AgeGroup')['Salary'].agg(custom_agg)
print(result)

输出结果:

 custom_agg
AgeGroup
20-29 50000
30-39 50000
40-49 50000
Other NaN

总结

agg函数是Pandas中一个非常强大的工具,它可以帮助开发者轻松地处理复杂数据。通过使用agg函数,可以轻松地对数据进行分组、计算平均值、总和、中位数、最大值、最小值等,从而更好地理解数据。

评论
一个月内的热帖推荐
csdn大佬
Lv.1普通用户

452398

帖子

22

小组

841

积分

赞助商广告
站长交流