熊猫-根据列值选择数据框行以生成1:1关系

时间:2018-07-31 22:03:31

标签: python pandas dataframe

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

对于每个小组,如果可能的话,我需要为每个学生(1:1)关系指定一位老师。 对于第1组,我们只有一名老师,因此所有4名学生都分配给Teacher_1。 对于第2组,我们有2位教师Teacher_2获得Student_5,Teacher_3获得Student_6,因为Teacher_2已分配给Student_5。 对于第3组,我们有2位老师,但只有一名学生,因此Student_7被分配给Teacher_5

我阅读了DataFrame.shiftDataframe.diff来处理下一个/上一个行值,但是我不确定在这种情况下如何使用它们。

任何帮助将不胜感激!

预先感谢

Current dataframe

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

所需输出 Desired Output

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

0 个答案:

没有答案