有關熊貓數據框條件循環的問題。數據框架的利益是巨大的。我們有不同時間的學生姓名和考試成績(請參閱下文)。如果他/她的分數在任何測試中低於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更新了我的答案。這是你要求的嗎? –
是的。感謝您的回覆。 –