在 Pandas 中,可以使用 groupby 方法对数据进行分组,然后使用聚合函数进行统计。
下面是一个示例代码,可以帮助您理解 Pandas 中的分组统计:
import pandas as pd
# 创建示例数据
data = {'姓名': ['张三', '李四', '王五', '赵六', '张三', '李四', '王五', '赵六'],
'科目': ['语文', '语文', '语文', '语文', '数学', '数学', '数学', '数学'],
'成绩': [80, 90, 70, 85, 95, 92, 88, 75]}
df = pd.DataFrame(data)
# 按姓名分组,计算每个人的平均成绩
mean_score_by_name = df.groupby('姓名')['成绩'].mean()
# 按科目分组,计算每个科目的最高成绩
max_score_by_subject = df.groupby('科目')['成绩'].max()
# 按姓名和科目分组,计算每个人每个科目的平均成绩
mean_score_by_name_and_subject = df.groupby(['姓名', '科目'])['成绩'].mean()
在上面的示例中,我们首先创建了一个包含姓名、科目和成绩的示例数据,然后使用 groupby 方法对数据进行分组。其中,groupby('姓名')
表示按照姓名进行分组,groupby('科目')
表示按照科目进行分组,groupby(['姓名', '科目'])
表示按照姓名和科目进行分组。然后,我们可以使用聚合函数,如 mean()
和 max()
,计算每个分组的统计指标,如平均值和最大值。
当然,在实际应用中,您还可以使用其他聚合函数和参数来进行分组统计,以满足您的具体需求。