我有一个很长的Pandas DataFrame(大约1万行),但是我提供了一个简化的DataFrame作为示例:
df = pd.DataFrame({
"STUDENT":[1, 2, 3, 4, 5],
"SCHOOL":[11, 11, 12, 13, 12],
"GRADE":[8., 9., 5., 4, 3.],
"CITY":["Chicago", "Chicago", "Boston", "Chicago", "Boston"]
})
结果是:
CITY GRADE SCHOOL STUDENT
0 Chicago 8.0 11 1
1 Chicago 9.0 11 2
2 Boston 5.0 12 3
3 Chicago 4.0 13 4
4 Boston 3.0 12 5
我可以在SCHOOL列中进行groupby以获得方法:
df.groupby(["SCHOOL"]).mean()
而且,我将拥有:
GRADE STUDENT
SCHOOL
11 8.5 1.5
12 4.0 4.0
13 4.0 4.0
但是,我需要这样的东西:
GRADE STUDENT CITY
SCHOOL
11 8.5 1.5 Chicago
12 4.0 4.0 Boston
13 4.0 4.0 Chicago
请注意,我包括了一个额外的列,其中包含城市名称,Groupby命令没有显示该列。谁能说我该怎么做?