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

文章目录

  • ️‍ 1. 导入模块
  • ️‍ 2. Pandas数据处理
    • 2.1 读取数据
    • 2.2 查看表格数据类型
    • 2.3 查看表格数据描述
    • 2.4 查看表格缺失数据
    • 2.5 填充某一列缺失数据
    • 2.6 一次性填充所有缺失数据
    • 2.7 统计所有排名未改变的学校
    • 2.8 统计前50名中排名下降的学校
    • 2.9 统计各省市大学数量
    • 2.10 各省市大学平均分排序
  • ️‍ 3. Pyecharts数据可视化
    • 3.1 各省市大学数量和平均分柱状图(横向)
    • 3.2 各省市大学数量和平均分柱状图(纵向)
    • 3.3 各省市大学数量玫瑰图
    • 3.4 各省市大学数量南丁格尔玫瑰图
    • 3.5 各省市大学数量地图分布
  • ️‍ 4. 可视化项目源码+数据

大家好,我是 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()

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第1张图片

2.2 查看表格数据类型

df.dtypes

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第2张图片

2.3 查看表格数据描述

df.describe()

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第3张图片

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

2.4 查看表格缺失数据

df.isnull().sum()

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第4张图片

2.5 填充某一列缺失数据

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

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

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第5张图片

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

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

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第6张图片
Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第7张图片

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

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

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第8张图片

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

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

Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第9张图片

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

效果:
Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第10张图片

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

效果:
Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第11张图片

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

效果:
Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第12张图片

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

效果:
Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第13张图片

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

效果:
Pandas+Pyecharts | 2021中国大学综合排名分析+可视化_第14张图片

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

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

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


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

你可能感兴趣的:(Python可视化系列,Pyecharts系列,可视化,数据分析,python)