Python 熊猫塔改造面临的问题

Python 熊猫塔改造面临的问题,python,pandas,Python,Pandas,我面临着一个奇怪的情况。 我有一个数据框,其中唯一行的3个最大分数如下: id rid code score 1 9 67 43 1 8 87 22 1 4 32 20 2 3 56 43 3 10. 22 100 3. 5 67. 50 id first_code second_code third_code 1 67 87

我面临着一个奇怪的情况。 我有一个数据框,其中唯一行的3个最大分数如下:

id   rid   code  score
1    9    67    43
1    8    87    22 
1    4    32    20
2    3    56    43
3    10.  22    100
3.   5    67.    50
id   first_code  second_code    third_code
1     67          87            32
2.    56.         none.         none
3     22.         67.           none
此处id列相同,但行方向不同。
我想让我的数据框如下:

id   rid   code  score
1    9    67    43
1    8    87    22 
1    4    32    20
2    3    56    43
3    10.  22    100
3.   5    67.    50
id   first_code  second_code    third_code
1     67          87            32
2.    56.         none.         none
3     22.         67.           none
所以我制作了我的数据框,它显示了最高的前三名分数。如果没有前3个值,我将取前2个值或唯一的值,即分数。因此,根据分数值,我想将代码列重新排列为三个不同的列,例如第一个\u代码表示最高的\u分数,第二个\u分数表示第二个最高的,第三个\u代码表示第三个最高的值。如果找不到的话,我会把这些空白的

请帮助我解决此问题。

用于计数器,创建多索引,并通过以下方式重塑:


顺便说一句,
cumcount
也应该在前面的代码中用于筛选top3值。

非常感谢,它很有效。我不知道这种方法。我正在学习;)