J. *_*Doe 3 python excel pandas
我想计算从 Excel 文件中提取的成绩的平均分和 GPA。目前,我能够从 Excel 文件中获取该列,并且我弄清楚了如何根据手动输入创建列表。但是,我想从 Excel 中获取数字成绩列,并将其用作输入(而不是手动输入),以便将它们转换为 GPA 并计算累积 GPA。我显然想在没有分数的情况下跳过课程。如何在 GPA 计算中使用从 Excel 中提取的数据?我是Python新手,并且使用Excel,所以任何事情都有帮助。谢谢
Course Scores
Art II 93
Spanish II 100
Algebra II Trig Honors 96
Christian Scriptures 99
Chemistry
American History Honors 87
Phys Ed
Chemistry II 92
Run Code Online (Sandbox Code Playgroud)
蟒蛇代码
df3 = pd.read_excel('file.xlsx')
scores = df3[['Scores']]
print(scores)
letters = []
points = []
score = float(input("enter: "))
if(score < 101):
letters.append('A')
points.append(4.0)
elif(score < 90):
letters.append('B')
points.append(3.0)
elif(score < 80):
letters.append('C')
points.append(2.0)
elif(score < 70):
letters.append('D')
points.append(1.0)
elif(score < 60):
letters.append('F')
points.append(0.0)
print(letters)
print(points)
Run Code Online (Sandbox Code Playgroud)
我相信您需要cutwith mean,因为必须将分类转换为浮点数:
bins = [0,60,70,80,90,101]
df3['letters'] = pd.cut(df3['Scores'], bins=bins, labels=list('FDCBA'))
df3['points'] = pd.cut(df3['Scores'], bins=bins, labels=[0.0,1.0,2.0,3.0,4.0])
mean = df3['points'].astype(float).mean()
print (mean)
3.8333333333333335
print (df3)
Course Scores letters points
0 Art II 93.0 A 4.0
1 Spanish II 100.0 A 4.0
2 Algebra II Trig Honors 96.0 A 4.0
3 Christian Scriptures 99.0 A 4.0
4 Chemistry NaN NaN NaN
5 American History Honors 87.0 B 3.0
6 Phys Ed NaN NaN NaN
7 Chemistry II 92.0 A 4.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
681 次 |
| 最近记录: |