#Grade.py
import pandas as pd
#打开原始表grade.xlsx
df = pd.read_excel("grade.xlsx","grade")
#计算总分
df["总分"] = df["语文"] + df["数学"] + df["英语"]+ df["综合"]+ df["体育"]+ df["实验"]+ df["信息"]
#计算排名
df['名次']=df['总分'].rank(ascending=False) # ascending=False为按总分的降序排列
#按学校统计总人数
total_counts=df['学校'].value_counts()
goodone=df[df['总分']>430] #筛选出总分大于430的
goodone_counts=goodone['学校'].value_counts() #统计总分大于430的各个学校人数
preone=goodone_counts/total_counts #比率
goodtwo=df[df['总分']>320] #筛选出总分大于320的
goodtwo_counts=goodtwo['学校'].value_counts() ##统计总分大于430的各个学校人数
pretwo=goodtwo_counts/total_counts #比率
df2 = pd.DataFrame({'考生数':total_counts,'一线人数':goodone_counts,'一线率':preone,'二线人数':goodtwo_counts,'二线率':pretwo}) #利用字典按列生成dataframe
#df3 = pd.DataFrame(list(zip(total_counts, goodone_counts,preone,goodtwo_counts,pretwo))) #另一种方式,根据需要
excelWriter=pd.ExcelWriter("成绩分析.xlsx") #需要生成的excel文件
df.to_excel(excelWriter,"原始成绩") #
df2.to_excel(excelWriter,"数据统计") #
excelWriter.save() #保存