[英]Sort a column within groups in Pandas
我是熊猫新手。 我正在尝试在每个组中对列进行排序。 到目前为止,我已经能够将第一列和第二列的值分组在一起,并在第三列中计算平均值。 但是我仍然在努力对第三栏进行排序。
这是我的输入数据框 这是应用groupby和mean函数后的数据框
我使用以下代码行对输入数据帧进行了分组,df_o = df.groupby(by = ['Organization Group','Department'])。agg({'Total Compensation':np.mean})
请让我知道如何使用熊猫对第一列中每个组的最后一列进行排序。
看来您需要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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.