期末考试成绩自动计算代码

我们学校教务系统导出成绩格式。
期末考试成绩自动计算代码_第1张图片

#conding:utf-8
""""
自动计算平均成绩
除去智慧树网课成绩
有补考,默认成绩最好的一次加入计算
"""
import pandas as pd
df = pd.DataFrame(pd.read_excel('17云计算.xlsx')) # 读取文件
df = df.dropna(subset=['教学班号']) #删除教学班号为空的一列,即智慧树选修课
#print(df.info())
data = df.loc[:,['学号','总成绩','课程代码','考试类型']]
#print(data.head())
sno = df.loc[:,['学号','姓名']]
sno = sno.drop_duplicates() # 除去重复值
data = data.drop_duplicates(subset=['学号','课程代码'],keep='last')
sno['avg'] = 1 # 增加avg列,默认值为1

sno = sno.reset_index(drop=True)
data = data.reset_index(drop=True)

for i in range(len(sno['学号'])):
    str = sno['学号'][i]
    num  = 0
    c = 0
    for j in range(len(data)):
        if str == data['学号'][j]:
            num += data['总成绩'][j]
            c += 1
    sno.loc[i:i,('avg')] = [num / c]
print(sno)
sno.to_excel("test.xlsx")

你可能感兴趣的:(笔记)