2017-04-03 66 views
0

我是熊貓的新手。我正在嘗試對每個組中的一列進行排序。到目前爲止,我能夠將第一列和第二列值組合在一起,並計算第三列中的平均值。但我仍然在努力排列第三列。對熊貓羣體中的列進行排序

This is my input dataframe This is my dataframe after applying groupby and mean function

我用下面的代碼行組輸入數據幀, df_o = df.groupby(由= [ '組織組', '部'])。AGG({'總補償':np.mean})

請讓我知道如何使用熊貓對第一列中每個組的最後一列進行排序。

回答

0

看來你需要sort_values

#for return df add parameter as_index=False 
df_o=df.groupby(['Organization Group','Department'], 
       as_index=False)['Total Compensation'].mean() 
df_o = df_o.sort_values(['Total Compensation','Organization Group']) 

樣品:

df = pd.DataFrame({'Organization Group':['a','b','a','a'], 
        'Department':['d','f','a','a'], 
        'Total Compensation':[1,8,9,1]}) 

print (df) 
    Department Organization Group Total Compensation 
0   d     a     1 
1   f     b     8 
2   a     a     9 
3   a     a     1 

df_o=df.groupby(['Organization Group','Department'], 
       as_index=False)['Total Compensation'].mean() 
print (df_o) 
    Organization Group Department Total Compensation 
0     a   a     5 
1     a   d     1 
2     b   f     8 

df_o = df_o.sort_values(['Total Compensation','Organization Group']) 
print (df_o) 
    Organization Group Department Total Compensation 
1     a   d     1 
0     a   a     5 
2     b   f     8 
+0

我收到以下錯誤 「KeyError異常:」組織集團「 – SowD

+0

我所要的輸出是以下格式Organization_group部總賠償額aa 5不適用d 1 bf 8 – SowD