在pandas中的groupby中插入其他列

时间:2018-08-03 19:33:38

标签: python pandas pandas-groupby

我有一个很长的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命令没有显示该列。谁能说我该怎么做?

0 个答案:

没有答案