繁体   English   中英

在熊猫中的组内对列进行排序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM