有关熊猫数据框条件循环的问题。数据框架的利益是巨大的。我们有不同时间的学生姓名和考试成绩(请参阅下文)。如果他/她的分数在任何测试中低于75,则认为该学生失败,否则通过。我无法有效地做到这一点。据帧:有条件循环:熊猫Python
score = {'student_name': ['Jiten', 'Jac', 'Ali', 'Steve', 'Dave', 'James'],
'test_quiz_1': [74, 81, 84, 67, 59, 96],
'test_quiz_2': [76, np.NaN, 99, 77, 53, 69],
'test_mid_term': [76, 88, 84, 67, 58, np.NaN],
'test_final_term': [76, 78, 89, 67, 58, 96]}
df = pd.DataFrame(score, columns = ['student_name', 'test_quiz_1', 'test_quiz_2', 'test_mid_term', 'test_final_term'])
我的方法:(基于雅克·克瓦姆的回答修改)
df.test_quiz_1 > 70
这(^)给了我的位置,其中具体的学生不及格。其他测试(df.test_quiz_2,...)可以重复相同的操作。最后,如果考生在任何考试中失败,我都需要将这些全部合并成一个最后一列,在那里学生失败。
编辑:我对python和pandas了解甚少。我正在编写关于如何在C/C++中实现的伪代码。
for student in student_list:
value=0
for i in range (no_of_test):
if (score<75):
value=value+1
else:
continue
if(value>0):
student[status]=fail
else:
student[status]=pass
上面只是一个伪代码。我不会创建任何附加列来标记学生是否在任何测试中失败。使用熊猫可以在Python中实现类似的东西吗?
请指教。
谢谢。请检查问题的编辑部分。 –
@XingfangLee更新了我的答案。这是你要求的吗? –
是的。感谢您的回复。 –