你的书可能旧了,pandas 在 groupby().mean() 的时候会选取第一列计算平均数,在你的例子中,也就是“姓名”列,自然会报错。改一下应该可以这样:
groupby().mean()
import pandas as pd df = pd.read_excel('9.7.2.3.xlsx') print(df) df2 = df.groupby(['班级'])[['语文', '数学', '英语']].mean() print(df2)