0
点赞
收藏
分享

微信扫一扫

中国大学综合排名案例分析

小桥流水2016 2022-02-24 阅读 39

前言

软科中国大学排以专业、客观、透明的优势赢得了高等教育领域和社会的广泛关注和认可,本次将利用Python对我国大学排名和分布情况进行一番研究。

涉及到的内容
Pandas — 数据处理
Pyecharts — 数据可视化

背景描述

数据为2021年中国大学综合排名数据,用于分析大学排名、分布情况

数据说明

项目数据类型说明
排名int综合排名
升/降float较前一年排名升/降
学校名称string学校名称
英文名称string英文名称
省市string所在地
类型string学校类型
总分float综合得分
办学层次float分项得分
学科水平float分项得分
办学资源Text分项得分
师资规模与结构float分项得分
人才培养float分项得分
科学研究float分项得分
服务社会float分项得分
学术人才float分项得分
重大项目与成果float分项得分
国际竞争力float分项得分

数据来源

数据来自👉软科排名

问题描述

适用于分析场景:
1、中国大学综合排名
2、中国大学各省市分布情况
3、各省市大学排名波动情况
4、其他

1. 导入模块

In [1]:

from pyecharts.charts import Map
from pyecharts.charts import Bar
from pyecharts.charts import Pie
from pyecharts import options as opts
import pandas as pd

2. Pandas数据处理

2.1 读取数据

In [2]:

df = pd.read_csv('/home/mw/input/06024378/中国大学综合排名2021.csv', encoding='gb2312')
df.head()

Out[2]:

排名升/降学校名称英文名称省市类型总分办学层次学科水平办学资源师资规模与结构人才培养科学研究服务社会学术人才重大项目与成果国际竞争力
010.0清华大学Tsinghua University北京综合969.237.974.339.448.7343.088.037.990.8129.180.1
120.0北京大学Peking University北京综合855.336.172.925.949.2315.788.012.892.6102.959.2
230.0浙江大学Zhejiang University浙江综合768.734.365.421.847.7285.791.432.267.779.442.9
340.0上海交通大学Shanghai Jiao Tong University上海综合723.435.553.121.644.9260.098.218.865.186.839.2
450.0南京大学Nanjing University江苏综合654.835.147.910.848.1272.072.44.961.272.030.4

2.2 查看表格数据类型

In [3]:

df.dtypes

Out[3]:

排名           int64
升/降        float64
学校名称        object
英文名称        object
省市          object
类型          object
总分         float64
办学层次       float64
学科水平       float64
办学资源       float64
师资规模与结构    float64
人才培养       float64
科学研究       float64
服务社会       float64
学术人才       float64
重大项目与成果    float64
国际竞争力      float64
dtype: object

2.3 查看表格数据描述

In [4]:

df.describe()

Out[4]:

排名升/降总分办学层次学科水平办学资源师资规模与结构人才培养科学研究服务社会学术人才重大项目与成果国际竞争力
count582.000000566.000000582.000000100.000000100.000000100.000000100.000000100.000000100.000000100.000000100.00000100.000000100.000000
mean291.347079-2.886926169.31924429.99300027.6420007.36500039.689000165.48700033.5950007.66600016.6870020.59600018.963000
std168.05828428.047203113.6282053.27723312.2990615.6627334.67451548.21291119.3122797.42623317.8897521.70653610.331433
min1.000000-82.00000058.20000023.4000006.0000002.20000029.50000098.80000012.1000000.0000002.000001.2000008.100000
25%146.250000-19.00000097.92500027.67500019.7750003.87500036.600000128.15000019.5500002.3750006.200007.17500013.000000
50%291.500000-2.000000132.40000029.90000023.8000005.50000038.550000149.80000027.1500005.50000010.5000013.65000015.750000
75%436.7500009.000000194.67500032.22500033.7500009.25000043.275000191.52500042.00000010.35000019.4250023.55000022.525000
max582.000000130.000000969.20000040.00000074.30000039.40000050.500000343.00000098.20000037.90000092.60000129.10000080.100000

可以看到数据一个有582条,升/降数据只有566条,办学层次、学科水平。。。等只有100条,存在数据缺失。

2.4 查看表格缺失数据

In [5]:

df.isnull().sum()

Out[5]:

排名           0
升/降         16
学校名称         0
英文名称         0
省市           0
类型           0
总分           0
办学层次       482
学科水平       482
办学资源       482
师资规模与结构    482
人才培养       482
科学研究       482
服务社会       482
学术人才       482
重大项目与成果    482
国际竞争力      482
dtype: int64

2.5 填充某一列缺失数据

填充升/降数据,以填充0为例:

In [6]:

df['升/降'].fillna(0, inplace=True)
df.isnull().sum()

Out[6]:

排名           0
升/降          0
学校名称         0
英文名称         0
省市           0
类型           0
总分           0
办学层次       482
学科水平       482
办学资源       482
师资规模与结构    482
人才培养       482
科学研究       482
服务社会       482
学术人才       482
重大项目与成果    482
国际竞争力      482
dtype: int64

2.6 一次性填充所有缺失数据

一次性填充所有缺失数据,以填充0为例:

In [7]:

df.fillna(0, inplace=True)
df.isnull().sum()

Out[7]:

排名         0
升/降        0
学校名称       0
英文名称       0
省市         0
类型         0
总分         0
办学层次       0
学科水平       0
办学资源       0
师资规模与结构    0
人才培养       0
科学研究       0
服务社会       0
学术人才       0
重大项目与成果    0
国际竞争力      0
dtype: int64

In [8]:

df.describe()

Out[8]:

排名升/降总分办学层次学科水平办学资源师资规模与结构人才培养科学研究服务社会学术人才重大项目与成果国际竞争力
count582.000000582.00000582.000000582.000000582.000000582.000000582.000000582.000000582.000000582.000000582.000000582.000000582.000000
mean291.347079-2.80756169.3192445.1534364.7494851.2654646.81941628.4341925.7723371.3171822.8671823.5388323.258247
std168.05828427.66235113.62820511.40436511.6056043.63263515.10829265.57267614.9809804.2159339.70701611.8639128.333417
min1.000000-82.0000058.2000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
25%146.250000-18.0000097.9250000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
50%291.500000-1.00000132.4000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
75%436.7500008.00000194.6750000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.0000000.000000
max582.000000130.00000969.20000040.00000074.30000039.40000050.500000343.00000098.20000037.90000092.600000129.10000080.100000

可以看到所有列数据均有582条,填充完成。

2.7 统计所有排名未改变的学校

In [9]:

df[df['升/降']==0]

Out[9]:

排名升/降学校名称英文名称省市类型总分办学层次学科水平办学资源师资规模与结构人才培养科学研究服务社会学术人才重大项目与成果国际竞争力
010.0清华大学Tsinghua University北京综合969.237.974.339.448.7343.088.037.990.8129.180.1
120.0北京大学Peking University北京综合855.336.172.925.949.2315.788.012.892.6102.959.2
230.0浙江大学Zhejiang University浙江综合768.734.365.421.847.7285.791.432.267.779.442.9
340.0上海交通大学Shanghai Jiao Tong University上海综合723.435.553.121.644.9260.098.218.865.186.839.2
450.0南京大学Nanjing University江苏综合654.835.147.910.848.1272.072.44.961.272.030.4
560.0复旦大学Fudan University上海综合649.736.648.416.646.2255.878.64.865.060.137.6
670.0中国科学技术大学University of Science and Technology of China安徽理工577.040.037.711.945.9232.161.40.858.646.642.1
780.0华中科技大学Huazhong University of Science and Technology湖北综合574.332.144.711.345.2232.274.222.935.245.231.3
890.0武汉大学Wuhan University湖北综合567.931.849.610.445.7255.461.79.535.043.025.7
16170.0东南大学Southeast University江苏综合488.134.337.712.444.5223.044.89.120.136.225.8
17180.0中国人民大学Renmin University of China北京综合487.834.542.110.346.2224.639.90.231.842.615.8
23240.0吉林大学Jilin University吉林综合435.730.442.29.050.5203.046.84.113.617.218.8
28290.0华东师范大学East China Normal University上海师范401.835.234.48.043.1170.841.22.923.224.018.8
29300.0中国农业大学China Agricultural University北京农业400.431.834.77.845.0161.138.46.622.234.918.0
32330.0北京科技大学University of Science and Technology Beijing北京理工379.432.223.86.141.0180.534.113.912.119.016.8
33340.0重庆大学Chongqing University重庆综合365.529.930.97.340.6165.338.810.610.813.617.7
34350.0南京航空航天大学Nanjing University of Aeronautics and Astronau…江苏理工358.628.622.93.340.3185.728.011.310.913.713.9
71720.0江苏大学Jiangsu University江苏综合276.926.521.83.638.2127.521.38.73.78.916.7
79800.0华北电力大学North China Electric Power University北京理工263.227.116.24.035.0129.517.48.75.16.513.6
84850.0首都师范大学Capital Normal University北京师范261.129.923.15.538.4120.416.80.28.07.011.8
89900.0安徽大学Anhui University安徽综合243.126.019.33.331.0128.017.10.93.83.310.4
96970.0河南大学Henan University河南综合234.624.622.63.533.7109.019.22.13.94.012.0
1101110.0浙江理工大学Zhejiang Sci-Tech University浙江理工221.80.00.00.00.00.00.00.00.00.00.0
1381380.0中国计量大学China Jiliang University浙江理工201.00.00.00.00.00.00.00.00.00.00.0
1891900.0长江大学Yangtze University湖北综合168.40.00.00.00.00.00.00.00.00.00.0
1951960.0哈尔滨理工大学Harbin University of Science and Technology黑龙江理工165.50.00.00.00.00.00.00.00.00.00.0
1971980.0延边大学Yanbian University吉林综合165.40.00.00.00.00.00.00.00.00.00.0
2502510.0浙大宁波理工学院NingboTech University浙江理工145.10.00.00.00.00.00.00.00.00.00.0
3253260.0浙大城市学院Zhejiang University City College浙江理工123.00.00.00.00.00.00.00.00.00.00.0
3613620.0无锡学院Nanjing University of Information Science and …江苏综合113.30.00.00.00.00.00.00.00.00.00.0
4154160.0河北科技工程职业技术大学North China Electric Power University Science …河北理工101.20.00.00.00.00.00.00.00.00.00.0
4264270.0河北工业职业技术大学Polytechnic College of Hebei University of Sci…河北理工99.50.00.00.00.00.00.00.00.00.00.0
4334340.0南京特殊教育师范学院Nanjing Normal University of Special Education江苏师范98.40.00.00.00.00.00.00.00.00.00.0
4674670.0湖州学院Huzhou University Qiuzhen College浙江师范93.50.00.00.00.00.00.00.00.00.00.0
4744740.0苏州城市学院Wenzheng College of Soochow University江苏综合92.30.00.00.00.00.00.00.00.00.00.0
4934940.0山东石油化工学院Shengli College, China University of Petroleum山东理工89.80.00.00.00.00.00.00.00.00.00.0
5335330.0赣南科技学院College of Applied Science, Jiangxi University…江西理工83.40.00.00.00.00.00.00.00.00.00.0
5375380.0阿坝师范学院Aba Teachers University四川师范82.80.00.00.00.00.00.00.00.00.00.0
5505510.0温州理工学院Wenzhou University Oujiang College浙江师范79.20.00.00.00.00.00.00.00.00.00.0
5585590.0吕梁学院Luliang University山西师范76.30.00.00.00.00.00.00.00.00.00.0
5665670.0广西科技师范学院Guangxi Science and Technology Normal University广西师范71.50.00.00.00.00.00.00.00.00.00.0
5695700.0河北石油职业技术大学Hebei University of Technology City College河北理工70.70.00.00.00.00.00.00.00.00.00.0
5745750.0新疆政法学院College of Science & Technology Shihezi Univer…新疆综合66.90.00.00.00.00.00.00.00.00.00.0
5765770.0赣东学院East China Institute of Technology, Yangtze Ri…江西理工64.20.00.00.00.00.00.00.00.00.00.0

2.8 统计前50名中排名下降的学校

In [10]:

df.loc[(df['排名']<50) & (df['升/降']<0),:]

Out[10]:

排名升/降学校名称英文名称省市类型总分办学层次学科水平办学资源师资规模与结构人才培养科学研究服务社会学术人才重大项目与成果国际竞争力
1112-2.0中山大学Sun Yat-Sen University广东综合519.330.946.713.748.3194.674.08.437.831.433.3
1415-2.0北京航空航天大学Beihang University北京理工513.832.833.911.142.6221.446.120.726.754.723.8
1516-1.0同济大学Tongji University上海理工508.333.240.312.243.9221.058.912.529.135.022.1
1920-1.0南开大学Nankai University天津综合465.331.535.29.245.5216.044.32.429.127.324.9
2122-1.0天津大学Tianjin University天津理工444.332.733.58.545.2198.145.013.422.723.421.8
2526-3.0厦门大学Xiamen University福建综合427.832.736.79.441.6184.646.54.825.323.123.1
2627-2.0华南理工大学South China University of Technology广东理工419.830.533.79.442.7183.141.712.118.521.926.3
2728-1.0大连理工大学Dalian University of Technology辽宁理工418.230.231.06.442.9190.542.99.016.432.216.8
3132-1.0湖南大学Hunan University湖南综合393.531.429.45.839.5176.635.79.316.822.626.4
3637-1.0南京理工大学Nanjing University of Science and Technology江苏理工356.030.924.23.240.0173.526.514.38.318.916.2
4142-3.0华中农业大学Huazhong Agricultural University湖北农业338.528.527.44.838.0156.534.01.514.517.116.0
4344-6.0苏州大学Soochow University (China)江苏综合327.028.731.25.841.2120.033.28.114.416.827.8
4445-3.0华东理工大学East China University of Science and Technology上海理工324.529.720.25.539.3149.829.77.513.113.616.0
4546-2.0华中师范大学Central China Normal University湖北师范322.030.626.05.037.9149.828.80.211.712.819.3

2.9 统计各省市大学数量

In [11]:

g = df.groupby('省市')
# 各省份大学数量
df_counts = g.count()['排名']
df0 = df_counts.copy()
df0.sort_values(ascending=False, inplace=True)
df0

Out[11]:

省市
江苏     38
山东     33
河南     31
河北     28
北京     27
辽宁     27
陕西     26
四川     26
广东     25
湖南     25
湖北     25
浙江     25
安徽     24
江西     22
黑龙江    19
吉林     18
上海     18
山西     17
福建     17
云南     16
广西     15
贵州     13
甘肃     12
内蒙古    12
新疆     11
天津     11
重庆     11
海南      4
青海      2
西藏      2
宁夏      2
Name: 排名, dtype: int64

2.10 各省市大学平均分排序

In [12]:

df_means0 = g.mean()['总分']
df_means = df_means0.round(2)
df1 = pd.concat([df_counts, df_means], join='outer', axis=1)
df1.columns = ['数量', '平均分']
df1.sort_values(by=['平均分'], ascending=False, inplace=True)
df1

Out[12]:

数量平均分
省市
北京27333.61
上海18286.61
江苏38215.17
天津11214.79
湖北25206.57
陕西26191.44
广东25190.71
浙江25184.38
重庆11173.46
辽宁27163.20
黑龙江19161.19
福建17159.42
四川26159.22
山东33157.97
青海2155.85
吉林18155.02
湖南25153.84
安徽24152.82
甘肃12139.54
宁夏2137.70
西藏2135.40
河南31127.99
江西22127.24
海南4127.12
河北28118.24
云南16115.86
广西15115.59
内蒙古12115.29
新疆11111.44
贵州13108.94
山西17108.44

3. Pyecharts数据可视化

3.1 各省市大学数量和平均分柱状图(横向)

In [17]:

df1.sort_values(by=['平均分'], ascending=False, inplace=True)
d1 = df1.index.tolist()
d2 = df1['数量'].values.tolist()
d3 = df1['平均分'].values.tolist()
bar0 = (
    Bar()
    .add_xaxis(d1)
    .add_yaxis('数量', d2)
    .add_yaxis('平均分数', d3)
    .set_global_opts(
        title_opts=opts.TitleOpts(title='中国大学排名'),
        yaxis_opts=opts.AxisOpts(name='量'),
        xaxis_opts=opts.AxisOpts(name='省份'),
    )
)
bar0.render('各省市大学数量和平均分柱状图(横向).html')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UyhwLccv-1645683799486)(C:\Users\wangchaojie\Desktop\Python案例分析\中国大学综合排名2021\讲义\中国大学综合排名案例分析.assets\1628130179176.png)]

3.2 各省市大学数量和平均分柱状图(纵向)

In [18]:

df1.sort_values(by=['平均分'], inplace=True)
d1 = df1.index.tolist()
d2 = df1['数量'].values.tolist()
d3 = df1['平均分'].values.tolist()
bar1 = (
    Bar()
    .add_xaxis(d1)
    .add_yaxis('数量', d2)
    .add_yaxis('平均分数', d3)
    .reversal_axis()
    .set_series_opts(label_opts=opts.LabelOpts(position='right'))
    .set_global_opts(
        title_opts=opts.TitleOpts(title='中国大学排名'),
        yaxis_opts=opts.AxisOpts(name='省份'),
        xaxis_opts=opts.AxisOpts(name='量'),
    )
)
bar1.render('各省市大学数量和平均分柱状图(纵向).html')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fOOdCfTw-1645683799488)(C:\Users\wangchaojie\Desktop\Python案例分析\中国大学综合排名2021\讲义\中国大学综合排名案例分析.assets\1628130232642.png)]

3.3 各省市大学数量玫瑰图

In [19]:

name = df_counts.index.tolist()
count = df_counts.values.tolist()
c0 = (
    Pie()
    .add(
        '',
        [list(z) for z in zip(name, count)],
        radius=['20%', '60%'],
        center=['50%', '65%'],
        rosetype="radius",
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}: {c}'))
)
c0.render('各省市大学数量玫瑰图.html')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hezY61cU-1645683799489)(C:\Users\wangchaojie\Desktop\Python案例分析\中国大学综合排名2021\讲义\中国大学综合排名案例分析.assets\1628130268764.png)]

3.4 各省市大学数量南丁格尔玫瑰图

In [20]:

provinces = df0.index.tolist()
num = df0.values.tolist()
c1 = (
    Pie()
    .add('', [list(z) for z in zip(provinces, num)],
         radius=['30%', '105%'],
         rosetype='area'
         )
    .set_global_opts(title_opts=opts.TitleOpts(title='中国大学排名'),
                     legend_opts=opts.LegendOpts(is_show=False),
                     toolbox_opts=opts.ToolboxOpts())
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="inside", font_size=12,
                                               formatter='{b}: {c}', font_style='italic',
                                               font_weight='bold', font_family='Microsoft YaHei'
                                               ))
)
c1.render('各省市大学数量南丁格尔玫瑰图.html')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1dpcXLVV-1645683799489)(C:\Users\wangchaojie\Desktop\Python案例分析\中国大学综合排名2021\讲义\中国大学综合排名案例分析.assets\1628130298969.png)]

3.5 各省市大学数量地图分布

In [21]:

name = df0.index.tolist()
count = df0.values.tolist()
m = (
        Map()
        .add('', [list(z) for z in zip(name, count)], 'china')
        .set_global_opts(
            title_opts=opts.TitleOpts(title='中国大学排名'),
            visualmap_opts=opts.VisualMapOpts(max_=40, split_number=8, is_piecewise=True),
        )
    )
m.render('各省市大学数量地图分布.html')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kUF4NsAe-1645683799490)(C:\Users\wangchaojie\Desktop\Python案例分析\中国大学综合排名2021\讲义\中国大学综合排名案例分析.assets\1628130320617.png)]

总结

  1. 大学数量较多的省市:江苏、山东、河南、河北、北京、辽宁 、陕西、四川 、广东 、湖南 、湖北、浙江等地(只看学校数量),后期探索可根据学校排名
  2. 排名前20的大学较前一年的波动较小(这也符合常理,毕竟前几的学校都是多年沉淀下来的)
  3. 西部地区大学数量较少
name = df0.index.tolist()
count = df0.values.tolist()
m = (
        Map()
        .add('', [list(z) for z in zip(name, count)], 'china')
        .set_global_opts(
            title_opts=opts.TitleOpts(title='中国大学排名'),
            visualmap_opts=opts.VisualMapOpts(max_=40, split_number=8, is_piecewise=True),
        )
    )
m.render('各省市大学数量地图分布.html')

[外链图片转存中…(img-kUF4NsAe-1645683799490)]

总结

  1. 大学数量较多的省市:江苏、山东、河南、河北、北京、辽宁 、陕西、四川 、广东 、湖南 、湖北、浙江等地(只看学校数量),后期探索可根据学校排名
  2. 排名前20的大学较前一年的波动较小(这也符合常理,毕竟前几的学校都是多年沉淀下来的)
  3. 西部地区大学数量较少
  4. 本数据集不包含港、澳、台大学(网站未统计)
举报

相关推荐

0 条评论