在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’的平均值。