根据给出的【统计学类专业成绩单.xlsx】,用Python完成下列问题: 请添加 2 列,1 列为加权平均成绩,另 1 列为加权平均绩点,绩点计算方式为:分数在90-100之间,绩点为4.0;分数在86-89之间,绩点为3.7;分数在83-85之间,绩点为3.3;分数在80-82之间,绩点为3.0;分数在76-79之间,绩点为2.7;分数在73-75之间,绩点为2.3;分数在70-72之间,绩点为2.0;分数在66-69之间,绩点为1.7;分数在63-65之间,绩点为1.3,;分数在60-62之间,绩点为1.0;分数小于60,绩点为0。
时间: 2024-03-14 10:49:29 浏览: 130
好的,我可以帮您解决这个问题。首先,我们需要读取并处理 Excel 文件。您可以使用 Pandas 库来完成这个任务。请确保您已经安装了 Pandas 库。
以下是完整的代码实现:
```python
import pandas as pd
# 读取 Excel 文件
df = pd.read_excel('统计学类专业成绩单.xlsx')
# 添加加权平均成绩列
df['加权平均成绩'] = df['高等数学']*4 + df['线性代数']*3 + df['概率论与数理统计']*3 + df['Python程序设计']*3 + df['高级计量经济学']*3 + df['R语言程序设计']*3 + df['统计学原理']*4
df['加权平均成绩'] = df['加权平均成绩'] / 20
# 定义计算绩点的函数
def calc_gpa(score):
if score >= 90:
return 4.0
elif score >= 86:
return 3.7
elif score >= 83:
return 3.3
elif score >= 80:
return 3.0
elif score >= 76:
return 2.7
elif score >= 73:
return 2.3
elif score >= 70:
return 2.0
elif score >= 66:
return 1.7
elif score >= 63:
return 1.3
elif score >= 60:
return 1.0
else:
return 0
# 添加加权平均绩点列
df['加权平均绩点'] = df['加权平均成绩'].apply(calc_gpa)
# 输出结果
print(df)
```
这段代码会打印出包含加权平均成绩和加权平均绩点的新 DataFrame。
注意,这里的加权平均成绩是按照每门课的学分加权计算的,而加权平均绩点是按照分数范围映射到的绩点加权计算的。
阅读全文