gpt4 book ai didi

python - 对按多列分组的数据框中的值进行排序

转载 作者:行者123 更新时间:2023-12-04 17:59:49 26 4
gpt4 key购买 nike

我有一个采用这种形式的数据框。

 Type  Major   GPA   
F A 2.6
T B 3.4
T C 2.9
F A 1.8
T B 2.8
F C 3.5
...

我想按 TypeMajor 对 Dataframe(“students”)进行分组,计算每个分组的行数,然后从多到少排序每种类型的热门专业,最后创建一个包含 20 个最受欢迎专业的新数据框。

我希望输出看起来像这样:

F   
A 21
B 19
C 15
...
T
A 14
B 7
C 3

这是我做的:

most_popular = students.groupby(['Type', 'Major']).size().sort_values(ascending=False)[:20]

但这样做是对两种类型进行排序 - 而不是分别对每种类型进行排序。

感谢您的帮助。

最佳答案

most_popular = students.groupby(['Type', 'Major']).size().reset_index().sort_values(['Type', 'Major'], ascending=[True, False])[:20]

关键是要同时按ASC和DSC顺序排序,可以使用:

.sort_values(['Type', 'Major'], ascending=[True, False])

关于python - 对按多列分组的数据框中的值进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36877811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com