Pandas Agg List 详解
Pandas 是一个强大的 Python 数据分析库,它提供了许多用于数据处理和分析的功能。其中,agg()
函数是一个非常有用的工具,它允许用户对数据进行聚合操作。本文将详细介绍如何使用 Pandas 的 agg()
函数,包括其语法、用法以及多个实际的代码示例。
1. agg()
函数简介
agg()
函数,也称为聚合函数,是用于对数据集合进行一系列的计算操作。它可以应用于 DataFrame 的行或列,根据指定的操作返回一个聚合后的结果。这些操作可以是统计总和、平均值、最大值等。
2. agg()
函数的基本用法
在 Pandas 中,agg()
可以单独使用,也可以与 groupby()
结合使用来进行更复杂的分组聚合操作。下面我们将通过示例详细说明如何使用 agg()
函数。
示例代码 1:基本聚合操作
import pandas as pd
# 创建一个简单的 DataFrame
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 使用 agg() 对所有列求和
result = df.agg('sum')
print(result)
Output:
示例代码 2:对指定列使用多个聚合函数
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 对列 A 应用多个聚合函数
result = df['A'].agg(['sum', 'min', 'max'])
print(result)
Output:
示例代码 3:对 DataFrame 使用多个聚合函数
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 对所有列应用多个聚合函数
result = df.agg(['sum', 'min', 'max'])
print(result)
Output:
示例代码 4:使用字典指定列和对应的聚合函数
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 使用字典为不同列指定不同的聚合函数
result = df.agg({'A': 'sum', 'B': 'min', 'C': 'max'})
print(result)
Output:
3. 结合 groupby()
使用 agg()
在处理分组数据时,agg()
函数经常与 groupby()
结合使用,以对不同的组执行不同的聚合操作。
示例代码 5:结合 groupby()
和 agg()
import pandas as pd
df = pd.DataFrame({
'Key': ['A', 'B', 'A', 'B'],
'Data': [1, 2, 3, 4],
'Value': [5, 6, 7, 8]
})
# 分组后对每组数据应用多个聚合函数
result = df.groupby('Key').agg({'Data': ['sum', 'mean'], 'Value': 'max'})
print(result)
Output:
示例代码 6:对不同列使用不同的聚合函数
import pandas as pd
df = pd.DataFrame({
'Key': ['A', 'B', 'A', 'B'],
'Data': [1, 2, 3, 4],
'Value': [5, 6, 7, 8]
})
# 分组后对不同列使用不同的聚合函数
result = df.groupby('Key').agg({'Data': 'sum', 'Value': 'max'})
print(result)
Output:
4. 高级聚合操作
Pandas 的 agg()
函数还支持更复杂的操作,如使用自定义函数进行聚合。
示例代码 7:使用自定义函数进行聚合
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 定义一个自定义聚合函数
def my_custom_function(x):
return x.max() - x.min()
# 使用自定义函数进行聚合
result = df.agg(my_custom_function)
print(result)
Output:
示例代码 8:对不同列使用不同的自定义聚合函数
import pandas as pd
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9]
})
# 定义两个不同的自定义聚合函数
def max_minus_min(x):
return x.max() - x.min()
def sum_plus_ten(x):
return x.sum() + 10
# 对不同列使用不同的自定义聚合函数
result = df.agg({'A': max_minus_min, 'B': sum_plus_ten})
print(result)
Output:
5. 总结
在本文中,我们详细介绍了 Pandas 的 agg()
函数,展示了其基本用法、结合 groupby()
的使用以及如何利用自定义函数进行高级聚合操作。通过这些示例,您可以看到 agg()
函数在数据分析中的强大功能和灵活性。