我有一个看起来如下的数据框
df= pd.DataFrame(np.array([[1, 2, 3], [1, 5, 6], [1, 8, 9],[2, 18, 9],[3, 99, 10],[3, 0.3, 5],[2, 58, 78],[4, 8, 9]]),
columns=['id', 'point_A', 'point_B'])
现在,我想创建一个列,该列是point_A
和point_B
行的总和。我可以通过以下代码来做到这一点:df["sum_of_all"] = df[["point_A","point_B"]].sum(axis = 1)
现在,我想根据sum_of_all
对它们进行排序。表示最大的和为graded
为1,依此类推。现在必须基于id
完成,我该怎么做?
更新:
一旦完成求和和排序,就可以得到上面的输出。现在,我的目标是根据id
分配成绩。即:id 2,索引6,->等级= 1,id 2在索引3->等级2,id 3在索引4->等级1和id 3在索引5-> 2等等
那就是期望