本题附件包含500名国际高校的研究生申请人的相关信息和预测的录取概率数据。
下表为文件中字段及对应含义:
Serial NoGRE ScoreTOEFL ScoreUniversity RatingSOPLORCGPAResearchChance of Admit 编号1-500GRE分数托福分数本科大学排名分个人陈述分数推荐信分数本科绩点研究经历(1/0)录取概率(0-1之间)
研究经历:1代表有,0代表无
录取概率:0-1之间的小数,如0.73代表73%
请按照下列要求对文件中数据进行统计和分析,并严格按照下面所示格式输出结果。
(描述中示例仅为格式示例,数据与测试用例无关)
输入一个数据n
1:如果n为’1’,抽取数据中录取概率大于等于80%的记录,计算其中大学排名评分大于等于4分的百分比,程序结束。
Top University in >=80%:11.11%
2:如果n为’Research’,分别统计和输出录取概率大于等于90%的学生和录取概率小于等于70%的学生中,有研究经历的学生占比,程序结束。(百分比保留两位小数)
Research
Reseach in >=90%:91.03%
Reseach in <=70%:22.10%< code></=70%:22.10%<>
3:如果n为’2’,输出录取概率大于等于80%的学生中TOEFL分数的平均分,最高分和最低分,程序结束。(保留两位小数)
TOEFL Average Score:300.12
TOEFL Max Score:323.00
TOEFL Min Score:299.00
4:如果n为’3’,输出录取概率大于等于80%的学生中绩点的平均分,最高分和最低分,程序结束。(保留三位小数)
CGPA Average Score:4.333
CGPA Max Score:4.910
CGPA Min Score:4.134
5:如果非以上输入,则输出’ERROR’,程序结束。
def readfile1(filename):#用于筛选出概率大于等于80%,返回列表
ls = []
with open(filename,"r") as fp:
s = fp.readline()
s = fp.readline()
while s:
l = s.strip().split(",")
if eval(l[-1])>=0.8:
ls.append(l)
s = fp.readline()
return ls
def readfile2(filename):#用于筛选出概率大于等于90%以及小于等于70%,返回列表
ls1 = []
ls2 = []
with open(filename,"r") as fp:
s = fp.readline()
s = fp.readline()
while s:
l = s.strip().split(",")
if eval(l[-1])>=0.9:
ls1.append(l)
if eval(l[-1])=4:
cnt += 1
print("Top University in >=80%%:%.2f%%"%(cnt/len(ls)*100))
elif n == 'Research':
ls1,ls2 = readfile2("admit2.csv")
#print(ls1)
cnt1 = len([i for i in ls1 if i[-4] == '1'])#大于90%,且有研究经历的个数
cnt2 = len([i for i in ls2 if i[-4] == '1'])#小于70%,且有研究经历的个数
print("Reseach in >=90%%:%.2f%%"%(cnt1/len(ls1)*100))
print("Reseach in
Original: https://blog.csdn.net/y15659037739l/article/details/123833459
Author: yang三毛
Title: 研究生录取数据分析 Python123
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/247581/
转载文章受原作者版权保护。转载请注明原作者出处!