python程序设计

 

泉州信息工程学院

软件学院

课程设计报告书

 

课 程 名: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截图

 

  1. 名称: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截图:

 

  1. 名称: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及格

上一篇:Python发现文件路径之间的差异


下一篇:Java接口-参数多态