做最好的机械设备
全国咨询热线:400-123-4567

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

发布时间:2023-08-19 21:28:11 人气:

大家好,我是 Python当打之年

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

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

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.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.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 各省市大学数量南丁格尔玫瑰图

1=(
    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),
        )
    )
  1. 大学数量较多的省市:江苏、山东、河南、河北、北京、辽宁 、陕西、四川 、广东 、湖南 、湖北、浙江等地(只看学校数量),后期探索可根据学校排名
  2. 排名前20的大学较前一年的波动较小(这也符合常理,毕竟前几的学校都是多年沉淀下来的)
  3. 西部地区大学数量较少
  4. 本数据集不包含港、澳、台大学(网站未统计)
当打之年:源码下载 | Python可视化系列文章资源(源码+数据)


更多内容(公众号:Python当打之年)

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

推荐阅读

可视化 | Python绘制台风地理轨迹图

可视化 | 用Python分析近5000个旅游景点,告诉你假期应该去哪玩

可视化 | Python陪你过520:在你身边,你在身边

可视化 | Python制作最炫3D可视化地图

爬虫 | Python爬取豆瓣电影Top250 + 数据可视化

爬虫 | 用python构建自己的IP代理池,再也不担心IP不够用啦!

技巧 | python定时发送邮件(自动添加附件)

技巧 | 20个Pycharm最实用最高效的快捷键(动态展示)

技巧 | 5000字超全解析Python三种格式化输出方式【% / format / f-string】

技巧 | Python制作朋友圈炫酷九宫格图片

基础 | 彻底搞懂Python异常处理:try-except-else-finally

基础 | Python函数一文详解

产品名称二十二
产品名称十九
产品名称十五

在线留言

平台注册入口