Pandas Agg函数
Pandas 是一个强大的 Python 数据处理库,它提供了广泛的功能来处理和分析数据。在数据分析中,聚合函数(Aggregation Functions)扮演着非常重要的角色,它们帮助我们从大量数据中提取有价值的统计信息。本文将详细介绍 Pandas 中的 agg
函数,包括其用法、应用场景以及一些实用的示例代码。
1. Pandas Agg 函数简介
在 Pandas 中,agg
是一个非常灵活的函数,用于对数据进行聚合操作。它可以接受一个或多个操作作为输入,并应用于 DataFrame 或 Series 对象的一列或多列。这些操作可以是标准的统计函数,如 sum
、mean
、max
等,也可以是自定义的函数。
2. 使用 Agg 函数进行单一聚合
示例代码 1: 计算单列的平均值
import pandas as pd
data = {'A': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
result = df['A'].agg('mean')
print(result)
Output:
示例代码 2: 对多列使用同一聚合函数
import pandas as pd
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
result = df.agg('sum')
print(result)
Output:
3. 使用 Agg 函数进行多重聚合
示例代码 3: 对单列应用多个聚合函数
import pandas as pd
data = {'A': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
result = df['A'].agg(['sum', 'min', 'max'])
print(result)
Output:
示例代码 4: 对多列应用多个聚合函数
import pandas as pd
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
result = df.agg(['sum', 'mean'])
print(result)
Output:
4. 使用自定义函数进行聚合
示例代码 5: 使用自定义函数计算范围
import pandas as pd
def range_func(x):
return x.max() - x.min()
data = {'A': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
result = df['A'].agg(range_func)
print(result)
Output:
示例代码 6: 对多列使用自定义聚合函数
import pandas as pd
def range_func(x):
return x.max() - x.min()
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
result = df.agg(range_func)
print(result)
Output:
5. 结合 GroupBy 使用 Agg 函数
示例代码 7: 分组后计算每组的平均值
import pandas as pd
data = {'Group': ['A', 'A', 'B', 'B', 'C'], 'Value': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
result = df.groupby('Group').agg('mean')
print(result)
Output:
示例代码 8: 分组后对每组应用多个聚合函数
import pandas as pd
data = {'Group': ['A', 'A', 'B', 'B', 'C'], 'Value': [1, 2, 3, 4, 5]}
df = pd.DataFrame(data)
result = df.groupby('Group').agg(['mean', 'sum'])
print(result)
Output:
6. 使用字典指定列的聚合方式
示例代码 9: 对不同列使用不同的聚合函数
import pandas as pd
data = {'A': [1, 2, 3, 4, 5], 'B': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
result = df.agg({'A': 'sum', 'B': 'max'})
print(result)
Output:
示例代码 10: 分组后对不同列使用不同的聚合函数
import pandas as pd
data = {'Group': ['A', 'A', 'B', 'B', 'C'], 'Value1': [1, 2, 3, 4, 5], 'Value2': [5, 4, 3, 2, 1]}
df = pd.DataFrame(data)
result = df.groupby('Group').agg({'Value1': 'mean', 'Value2': 'sum'})
print(result)
Output:
7. 总结
在本文中,我们详细介绍了 Pandas 的 agg
函数,展示了其在数据聚合中的强大功能。通过多个示例代码,我们演示了如何使用 agg
函数进行单一聚合、多重聚合、自定义聚合以及与 GroupBy 结合使用的聚合。