在Python的pandas库中,DataFrame对象支持多种SQL类似的聚合函数
count(): 计算每个分组中的行数。sum(): 计算每个分组中指定列的和。mean(): 计算每个分组中指定列的平均值。median(): 计算每个分组中指定列的中位数。min(): 计算每个分组中指定列的最小值。max(): 计算每个分组中指定列的最大值。std(): 计算每个分组中指定列的标准差。var(): 计算每个分组中指定列的方差。sem(): 计算每个分组中指定列的标准误差。first(): 返回每个分组中指定列的第一个值。last(): 返回每个分组中指定列的最后一个值。nth(): 返回每个分组中指定列的第n个值。nunique(): 计算每个分组中指定列的唯一值的数量。这些聚合函数可以与groupby()方法结合使用,以按照一个或多个列对数据进行分组并应用聚合操作。例如:
import pandas as pd
# 创建一个示例DataFrame
data = {'A': ['foo', 'bar', 'baz', 'foo', 'bar', 'baz'],
'B': [1, 2, 3, 4, 5, 6],
'C': [2.0, 3.0, 4.0, 5.0, 6.0, 7.0]}
df = pd.DataFrame(data)
# 使用groupby()和agg()方法对数据进行分组和聚合
grouped = df.groupby('A').agg({'B': 'sum', 'C': 'mean'})
print(grouped)
输出结果:
B C
A
bar 7 4.5
baz 9 5.5
foo 5 3.5
在这个例子中,我们首先根据列’A’对数据进行分组,然后计算每个分组中列’B’的和以及列’C’的平均值。