Python Pandas-基于列值选择数据帧行以生成1:1关系
我有一个数据框,我试图根据下面的逻辑选择行。 我对熊猫非常陌生,我很难产生我想要的输出 对于每个小组,如果可能的话,我需要为每个学生分配一名教师(1:1)。 对于第1组,我们只有一名教师,因此所有4名学生都被分配到第1组教师。 对于第二组,我们有两名教师,教师2得到学生5,教师3得到学生6,因为教师2已经分配给学生5。 对于第三组,我们有两名教师,但只有一名学生,因此学生7被分配给教师5 我阅读了关于和使用下一行/上一行的值,但我不确定如何在这种情况下使用它们 任何帮助都将不胜感激 提前谢谢 期望输出Python Pandas-基于列值选择数据帧行以生成1:1关系,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,我试图根据下面的逻辑选择行。 我对熊猫非常陌生,我很难产生我想要的输出 对于每个小组,如果可能的话,我需要为每个学生分配一名教师(1:1)。 对于第1组,我们只有一名教师,因此所有4名学生都被分配到第1组教师。 对于第二组,我们有两名教师,教师2得到学生5,教师3得到学生6,因为教师2已经分配给学生5。 对于第三组,我们有两名教师,但只有一名学生,因此学生7被分配给教师5 我阅读了关于和使用下一行/上一行的值,但我不确定如何在这种情况下使用它们 任何帮助都将不胜感激 提前谢谢
很难理解你的逻辑。最后,哪位老师
student_7
会得到一个模棱两可的答案,在某些情况下,第2组也是如此。如果你有一个由3名学生和2名教师组成的小组,哪位老师会被使用两次?我用逻辑为每位老师分配分数。教师已按降序排列。分数较高的教师获得优先权,可以再次使用,如第3组学生7获得教师5,因为其分数高于教师6,第2组学生5获得教师2,然后学生6根据教师的顺序获得教师3。希望这有帮助!
Group No. Student Teacher Teacher_Score
1 Student_1 Teacher_1 5
1 Student_2 Teacher_1 5
1 Student_3 Teacher_1 5
1 Student_4 Teacher_1 5
2 Student_5 Teacher_2 4
2 Student_5 Teacher_3 3
2 Student_5 Teacher_4 3
2 Student_6 Teacher_2 4
2 Student_6 Teacher_3 3
2 Student_6 Teacher_4 3
3 Student_7 Teacher_5 5
3 Student_7 Teacher_6 4
Group No. Student Teacher Teacher_Score
1 Student_1 Teacher_1 5
1 Student_2 Teacher_1 5
1 Student_3 Teacher_1 5
1 Student_4 Teacher_1 5
2 Student_5 Teacher_2 4
2 Student_6 Teacher_3 3
3 Student_7 Teacher_5 5