【发布时间】:2020-08-24 04:33:53
【问题描述】:
在运行 XGBoost 并获得预测后,我需要根据 group id 对排名进行排序。我尝试了几种方法,但都不成功。
我的数据:
id hotel_id rank
1 5 2
1 3 3
1 4 1
2 23 4
2 12 2
2 62 3
2 22 1
这将是group_by 和基于rank 排序之后的结果。重要的是 id 保持不变。
id hotel_id rank
1 4 1
1 5 2
1 3 3
2 22 1
2 12 2
2 62 3
2 23 4
【问题讨论】:
-
df.groupby('id').cumcount()+1
-
df.sort_values(['id','rank'])? -
这行得通@QuangHoang 谢谢。我可能只是标题而不是直截了当。您可以发布您的答案以便我批准吗?
标签: python pandas pandas-groupby ranking