在透视表中,如果需要按照一个额外字段进行分组,可以使用pivot_table()
函数,并指定index
参数为需要分组的字段,以及columns
参数为需要透视的字段。
下面是一个示例代码,假设有一个数据集df
包含了学生的姓名、科目以及成绩,我们希望按照科目和额外字段进行分组,计算平均成绩:
import pandas as pd
# 创建示例数据集
data = {'姓名': ['张三', '李四', '王五', '张三', '李四', '王五'],
'科目': ['数学', '数学', '数学', '语文', '语文', '语文'],
'成绩': [80, 90, 70, 85, 95, 75],
'班级': ['A', 'A', 'B', 'A', 'A', 'B']}
df = pd.DataFrame(data)
# 使用pivot_table进行透视,按科目和班级分组,计算平均成绩
pivot_df = pd.pivot_table(df, index=['科目', '班级'], values='成绩', aggfunc='mean')
print(pivot_df)
运行以上代码,会得到如下结果:
成绩
科目 班级
数学 A 85
B 70
语文 A 90
B 75
以上代码中,pd.pivot_table()
函数的index
参数指定了按照科目和班级进行分组,values
参数指定了需要聚合的字段,这里是成绩,aggfunc
参数指定了聚合函数,这里是求平均值。