十分钟带你看遍世界大学排

1,046 阅读3分钟

大学,一直都是神圣的学习知识的殿堂,各个世界级名校都不断地为社会输送着人才,今天我们就来盘一盘世界大学的排名情况。

数据获取

我们这里选取的就是上海交通大学的 ARWU 网站

http://www.shanghairanking.com/ARWU2019.html

该网站包含了历年的大学分数以及排名情况。

通过分析页面可以发现,通过 pandas 的 read_html 函数来获取相关信息是最为方便的

table = pd.read_html(url)
college = table[0]

同时我们还发现,大学所对应的国家数据是图片,所以需要特殊处理下

def get_country_name(html):
    soup = BeautifulSoup(html,'lxml')
    countries = soup.select('td > a > img')
    lst = []
    for i in countries:
        src = i['src']
        pattern = re.compile('flag.*/(.*?).png')
        country = re.findall(pattern,src)[0]
        lst.append(country)
    return lst

最后我们把得到的数据进行下处理,去除掉不需要的字段,再增加年份字段等

for i in range(20052020):
    print('year', i)
    url = 'http://www.shanghairanking.com/ARWU%s.html' % i
    html = requests.get(url).content
    table = pd.read_html(url)
    college = table[0]
    college.columns = ['world rank','university'2,3'score'5]
    college.drop([2,3,5],axis = 1,inplace = True)
    college['year'] = i
    college['index_rank'] = college.index
    college['index_rank'] = college['index_rank'].astype(int) + 1
    college['country'] = get_country(html)
    college.to_csv(r'College.csv', mode='a', encoding='utf_8_sig', header=True, index=0)

这样,我们就得到了 College.csv 文件

下面我们就可以做一些简单的分析了。

数据分析

世界大学排行

可以看到,哈佛最为世界第一的名校,其综合评分为100分,接下来就是斯坦福和剑桥大学,不过综合评分的差距还是蛮大的。

同时在前十名学府中,美国独占8席,英国占据2席,确实牛的不行。

top100 国家占比

下面我们再来看看在 top100 大学中,各个国家所占的比例

可以清晰的看出,美国作为当今唯一的超级大国,其顶尖学府基本占据了世界一般的水平,可以说强大的人才造就能力使其强大的科研能力的坚强后盾!

而英国和澳大利亚紧随其后,但是却远远不能比拟。

中国大学排行

中国有4所高校挤进了世界100强,分别是清华、北大、浙江和上海交通大学,可以说它们是中国最好的大学,也同时肩负着振兴中华,输出人才的重大任务。

最后,还可以移步这里查看动态排行视频

动态视频