Pandas+Pyecharts | 2021中国大学综合排名分析+可视化

大家好,我是 Python当打之年

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

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

🏳️‍🌈 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 读取数据

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

在这里插入图片描述

2.2 查看表格数据类型

df.dtypes

在这里插入图片描述

2.3 查看表格数据描述

df.describe()

在这里插入图片描述

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

2.4 查看表格缺失数据

df.isnull().sum()

在这里插入图片描述

2.5 填充某一列缺失数据

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

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

在这里插入图片描述

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

df.fillna(0, inplace=True)
df.describe()

在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述

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

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

在这里插入图片描述

2.9 统计各省市大学数量

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

2.10 各省市大学平均分排序

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)

🏳️‍🌈 3. Pyecharts数据可视化

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

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='省份'),
    )
)

效果:
在这里插入图片描述

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

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='量'),
    )
)

效果:
在这里插入图片描述

3.3 各省市大学数量玫瑰图

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}'))
)

效果:
在这里插入图片描述

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

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'
                                               ))
)

效果:
在这里插入图片描述

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

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),
        )
    )

效果:
在这里插入图片描述

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

🏳️‍🌈 4. 可视化项目源码+数据

网盘: https://pan.baidu.com/doc/share/Olj4d~aKuXT7AF0cq01MrQ-437060019167360
提取码: pyra


以上就是本期为大家整理的全部内容了,赶快练习起来吧,原创不易,喜欢的朋友可以点赞、收藏也可以分享注明出处)让更多人知道。

  • 15
    点赞
  • 184
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python当打之年

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值