读取“学生成绩.xls”文件,输出各科成绩的最高分、最低分、平均分,并根据总分新增一列“排名”,最后输出根据排名排序的成绩数据。
import numpy
import pandas as pd
data = pd.read_excel("学生成绩表.xls")
#计算人数
print("本班人数:",data["语文"].count())
# 求各科成绩最高分和平均分
print("语文最高分",data["语文"].max())
print("语文最低分",data["语文"].min())
print("语文平均分",data["语文"].mean())
print("语文成绩不及格人数",numpy.sum(data["语文"].values<60))
print("数学最高分",data["数学"].max())
print("数学最低分",data["数学"].min())
print("数学平均分",data["数学"].mean())
print("数学成绩不及格人数",numpy.sum(data["数学"].values<60))
print("英语最高分",data["英语"].max())
print("英语最低分",data["英语"].min())
print("英语平均分",data["英语"].mean())
print("英语成绩不及格人数",numpy.sum(data["英语"].values<60))
print("总分最高分",data["总分"].max())
print("总分最高分",data["总分"].min())
print("总分平均分",data["总分"].mean())
data["排名"] = data.sort_values(by=['总分'], ascending=False).reset_index() \
.sort_values('index') \
.index + 1
print(data.sort_values(by=["排名"]))