Python Pandas-基于列值选择数据帧行以生成1:1关系

Python Pandas-基于列值选择数据帧行以生成1:1关系,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个数据框,我试图根据下面的逻辑选择行。 我对熊猫非常陌生,我很难产生我想要的输出 对于每个小组,如果可能的话,我需要为每个学生分配一名教师(1:1)。 对于第1组,我们只有一名教师,因此所有4名学生都被分配到第1组教师。 对于第二组,我们有两名教师,教师2得到学生5,教师3得到学生6,因为教师2已经分配给学生5。 对于第三组,我们有两名教师,但只有一名学生,因此学生7被分配给教师5 我阅读了关于和使用下一行/上一行的值,但我不确定如何在这种情况下使用它们 任何帮助都将不胜感激 提前谢谢

我有一个数据框,我试图根据下面的逻辑选择行。 我对熊猫非常陌生,我很难产生我想要的输出

对于每个小组,如果可能的话,我需要为每个学生分配一名教师(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