我有一份学校和他们提供的课程的名单。我也有一个独特的课程列表,其中只有一些是在不同的学校提供,而有些不是。我想把每一所学校缺的班级,和学校的名字配对归还
我已经能够返回每个学校的缺课列表,但是我无法配对并返回与每个学校的缺课对应的学校名称
schools = {'School': ['School A', 'School A', 'School A', 'School B', 'School B', 'School B', 'School C','School C', 'School D'], 'Class': ['Math', 'Chemistry', 'English', 'Math', 'Chemistry', 'English', 'Math', 'Chemistry', 'Physics']}
dfSchool = pd.DataFrame(data=schools)
dfSchool
classes = {'Class': ['Math', 'Chemistry', 'English', 'History', 'Physics']}
dfClasses = pd.DataFrame(data=classes)
dfClasses
grouped = dfSchool.groupby('School')
newdflist = []
for name, group in grouped:
newdflist.append(group)
print(name)
print(group)
i = 0
while i < 4:
missingClasses = dfClasses[~dfClasses['Class'].isin(newdflist[i]['Class'])]
print(missingClasses)
i += 1
实际结果:
Class
3 History
4 Physics
Class
3 History
4 Physics
Class
2 English
3 History
4 Physics
Class
0 Math
1 Chemistry
2 English
3 History
预期结果:
School Class
3 School A History
4 School A Physics
School Class
3 School B History
4 School B Physics
School Class
2 School C English
3 School C History
4 School C Physics
School Class
0 School D Math
1 School D Chemistry
2 School D English
3 School D History
打印所需结果的快速答案如下:
我从中得到的结果是:
你要做的就是把它放在一个数据框里而不是打印
希望这有帮助 :)
相关问题 更多 >
编程相关推荐