【发布时间】:2020-02-29 13:29:55
【问题描述】:
我知道这个问题已经被问过好几次了。但没有一个答案符合我的情况。
我有一个带有列、部门和雇员计数的熊猫数据框。我需要按降序对employee_count 列进行排序。但如果 2 个employee_counts 之间存在平局,则应根据部门按字母顺序对它们进行排序。
Department Employee_Count
0 abc 10
1 adc 10
2 bca 11
3 cde 9
4 xyz 15
required output:
Department Employee_Count
0 xyz 15
1 bca 11
2 abc 10
3 adc 10
4 cde 9
这是我尝试过的。
df = df.sort_values(['Department','Employee_Count'],ascending=[True,False])
但这只是按字母顺序对部门进行排序。
我还尝试先按部门排序,然后再按 Employee_Count。像这样:
df = df.sort_values(['Department'],ascending=[True])
df = df.sort_values(['Employee_Count'],ascending=[False])
这也没有给我正确的输出:
Department Employee_Count
4 xyz 15
2 bca 11
1 adc 10
0 abc 10
3 cde 9
它先给出'adc',然后给出'abc'。 请帮助我。
【问题讨论】:
标签: python-3.x pandas sorting dataframe pandas-groupby