擅长:python、mysql、java
<p>这种任务适合<code>pandas</code>库。在</p>
<p>这里有一个解决方案,当您的需求发生变化时,它是可以适应的。在</p>
<pre><code>import pandas as pd
df = pd.read_csv('studentGradeFrom.csv')
# first_Name last_Name test1 test2 test3 test4
# 0 Alex Brian 11 17 13 24
# 1 Pete Tong 19 14 12 30
boundaries = {(90, 100.01): 'A',
(80, 90): 'B',
(70, 80): 'C',
(60, 70): 'D',
(0, 60): 'F'}
def grade_calc(x, b):
return next((v for k, v in b.items() if k[0] <= x <= k[1]), None)
df['FinalMark'] = 0.2*df['test1'] + 0.2*df['test2'] + 0.2*df['test3'] + 0.4*df['test4']
df['FinalGrade'] = df['FinalMark'].apply(grade_calc, b=boundaries)
# first_Name last_Name test1 test2 test3 test4 FinalMark FinalGrade
# 0 Alex Brian 11 17 13 24 17.8 F
# 1 Pete Tong 19 14 12 30 21.0 F
df.to_csv('studentGradeTo.csv', index=False)
</code></pre>