假设我有以下数据帧:
df = pd.DataFrame([[1, np.nan, 4, 5, 6, 7], [1, 3, 2, 1, np.nan, 8], [4, 6, 1, 1, 1, 4]], columns=['Student1', 'Student2', 'Student3', 'Exam1', 'Exam2', 'Exam3'])
>>> df
Student1 Student2 Student3 Exam1 Exam2 Exam3
0 1 NaN 4 5 6.0 7
1 1 3.0 2 1 NaN 8
2 4 6.0 1 1 1.0 4
我只想在特定列中的值不为nan时,对学生和考试的单元格求和。例如,对于第一行,我只能对Student1&;Student3(结果列student_sum)和Exam1和Exam3,由于Student2为空,因此不考虑Exam2。 我曾尝试使用itertuples进行迭代,但问题是它将所有内容相加
结果应该是:
Student1 Student2 Student3 Exam1 Exam2 Exam3 Res_stud Res_exam
0 1 NaN 4 5 6.0 7 5 12
1 1 3.0 2 1 NaN 8 3 9
2 4 6.0 1 1 1.0 4 11 6
另一种方式:
最后,将对方的对面面具传递给对方:
df
的输出:相关问题 更多 >
编程相关推荐