泉州信息工程学院
软件学院
课程设计报告书
课 程 名:python程序设计
课程设计项目名称: 大学学术排名分析
班 级: 16级软件工程一班
学 号: 20160837
姓 名: 郭晓婷
一、项目简介
1.1 项目博客地址
1.2 项目完成的功能与特色
通过导入数据表爬取大学学术排名的数据,可查看数据表的数值,查看前后几行数据,处理空值等,利用pandas库处理分析数据。用matplotlib绘制分析结果图形,tkinter显示窗口界面
二、自己负责的模块
2.1 自己负责模块列表
列出不同五个国家平均成绩,用柱状图显示,列出中国2018年排名前10名的五所大学,用折线图研究2016-2018年间排名变化
2.2 各模块详细描述(名称,功能,运行截图,关键源代码)
1.名称:5个国家平均成绩
1.1功能:将本地的大学学术排名.xlsx数据遍历取出存放到DataFrame中,再根据国家取出相对应的排名信息并取平均值,最后用柱状图显示。
1.2代码
for i in range(2009,2019):
data = pd.read_excel('大学学术排名.xlsx',sheet_name=str(i))
for i in range(len(a)):
if a[i] == 'USA' or a[i] == 'UnitedStates':
list_USA.append(str(b[i]))
elif a[i] == 'China':
list_China.append(str(b[i]))
list_USA = [float(i) for i in list_USA]
average_USA = np.mean(list_USA)
average_USA_list.append(average_USA)
1.3截图
- 名称:2018年中国排名前10的大学
2.1功能:获取2018年中国大学的数据,并把排名前十的大学名称写入排名.txt文件中。
2.2代码:
data2 = pd.read_excel('大学学术排名.xlsx',sheet_name=str(2018))
with open('排名.txt','w',errors = 'ignore')as f:
for i in range(len(m)):
if data2['country'][i]== 'China':
f.write('第%d名'%n+':'+data2['university'][i])
f.write('\n')
2.3截图:
- 名称:2016-2018年的5所大学学术排名变化
3.1功能:获取2016-2018年间麻省理工学院,耶鲁大学,京都大学,清华大学,北京大学的排名变化,用折线图显示。
3.2代码:
for i in range(2016,2019):
data = pd.read_excel('大学学术排名.xlsx',sheet_name=str(i))
university = list(data['university'])
for i in range(len(university)):
if university[i] == '麻省理工学院':
ma.append(i+1)
elif university[i] == '耶鲁大学':
ye.append(i+1)
elif university[i] == '京都大学':
jing.append(i+1)
elif university[i] == '清华大学':
qing.append(i+1)
elif university[i] == '北京大学':
bei.append(i+1)
3.3截图:
三、自己完成的工作量评估
3.1 完成的模块数和代码行数
三块模块数和256行代码
3.2 技术含量
pandas库,matplotlib,tkinter可视化界面,numpy库,导入表格xlrd的库
3.3 自我评分
D及格