【数据可视化】全国大学数据可视化分析

🧑 博主简介:

曾任某智慧城市类企业算法总监,CSDN / 稀土掘金 等平台人工智能领域优质创作者。

目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。

引言

本文将带你一起探索一份全国高校数据集,通过pyecharts这一强大的Python可视化库,将抽象的数据转化为直观的图表,揭示高校分布、类型、层次以及各类标签(如985、211、双一流)之间的关联与差异。

导入分析库与数据清洗

导入相应的分析库并进行数据加载。

python 复制代码
import pandas as pd
from collections import Counter
###画图
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.globals import ThemeType
from pyecharts.charts import Bar, Pie, Timeline
from pyecharts.faker import Faker

df = pd.read_csv("全国大学数据.csv",encoding='gbk')
df.head()

数据具体的格式如下:

对省份字段进行标准化处理:

python 复制代码
province_mapping = {
 '北京':"北京市",
 '天津':"天津市",
 '河北':"河北省",
 '山西':"山西省",
 '内蒙古':"内蒙古自治区",
 '辽宁':"辽宁省"...
}

df['省份'] = df['省份'].map(province_mapping)

pyecharts可视化实践

1. 高校地理分布图

使用pyecharts的Map组件,我们可以直观地展示全国高校的地理分布情况。通过颜色深浅或图标大小来反映各省份高校数量的多少,让读者一眼就能看出哪些地区是高等教育的重镇。同时,结合交互功能,读者可以点击地图上的省份,查看详细的高校列表。

代码示例

python 复制代码
from pyecharts.charts import Map
from pyecharts import options as opts
import pandas as pd

# 假设df为预处理后的DataFrame
province_counts = df['省份'].value_counts().reset_index()
province_counts.columns = ['省份', '高校数量']

map_chart = (
    Map()
    .add("高校数量", [list(z) for z in zip(province_counts['省份'], province_counts['高校数量'])], "china")
    .set_global_opts(
        title_opts=opts.TitleOpts(title="全国高校地理分布"),
        visualmap_opts=opts.VisualMapOpts(max_=max(province_counts['高校数量'])),
    )
)
map_chart.render("高校地理分布图.html")

从图中我们可以发现高校数量最多是江苏省,拥有168所搞笑;长三角地区的高校明显高于其它地区,中部四川省高校最多,南部广东省高校最多,西部地区高校分布的数量相对较少;

2. 全国不同类型大学数量情况

python 复制代码
un_type = df['类型'].tolist()
result = Counter(un_type)
# 排序
d = sorted(result.items(), key=lambda x: x[1], reverse=True)
print(d)
key = [i[0] for i in d]
value = [i[1] for i in d]

# 链式调用
bar = (
    Bar(
        init_opts=opts.InitOpts(  # 初始配置项
            theme=ThemeType.MACARONS,
            animation_opts=opts.AnimationOpts(
                animation_delay=1000, animation_easing="cubicOut"  # 初始动画延迟和缓动效果
            ))
    )
        .add_xaxis(xaxis_data=key)  # x轴
        .add_yaxis(series_name="全国不同类型大学数量情况", y_axis=value)  # y轴
        .set_global_opts(
        title_opts=opts.TitleOpts(title='', subtitle='',  # 标题配置和调整位置
                                    title_textstyle_opts=opts.TextStyleOpts(
                                        font_family='SimHei', font_size=25, font_weight='bold', color='red',
                                    ), pos_left="90%", pos_top="10",
                                    ),
        xaxis_opts=opts.AxisOpts(name='类型', axislabel_opts=opts.LabelOpts(rotate=45)),
        # 设置x名称和Label rotate解决标签名字过长使用
        yaxis_opts=opts.AxisOpts(name='数量'),

    )
        
)
bar.render("全国不同类型大学数量情况.html")

从图中我们可以发现理工类和综合类的院校最多,也就是高考时理科照生多的原因;

3. 高校类型与层次分析图

接下来,我们利用PieBar组件来分析高校的类型与层次。通过饼图展示公办与民办高校的占比,通过条形图展示本科与专科高校的分布情况。这些图表不仅能够帮助我们了解高校的构成,还能揭示不同类型与层次高校之间的差异。

python 复制代码
attr = df['公或民办'].tolist()
result = Counter(attr)
# 排序
d = sorted(result.items(), key=lambda x: x[1], reverse=True)
print(d)
key = [i[0] for i in d]
value = [i[1] for i in d]
pie = (
    Pie()
        .add(
        "公或民办类型数量",
        [list(z) for z in zip(key, value)],
        rosetype="radius",
        radius=["30%", "55%"],
    )
        .set_global_opts(title_opts=opts.TitleOpts("公或民办类型数量"))
)
pie.render("公办与民办高校占比图.html")

从图书可以看出高校有三种出资方式,分别是公办、民办和中外合作办学;其中公办的高校最多有2010所。

python 复制代码
# 分析本科与专科高校的分布情况
undergraduate_vocational_distribution = df['本或专科'].value_counts()
undergraduate_vocational_distribution = undergraduate_vocational_distribution.reset_index()
undergraduate_vocational_distribution.columns = ['层次', '数量']
 
# 创建条形图展示本科与专科高校的分布情况
bar_chart = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
    .add_xaxis(undergraduate_vocational_distribution['层次'].tolist())
    .add_yaxis("高校数量", undergraduate_vocational_distribution['数量'].tolist())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="本科与专科高校分布情况"),
        xaxis_opts=opts.AxisOpts(name="层次"),
        yaxis_opts=opts.AxisOpts(name="数量"),
    )
)
bar_chart.render("本科与专科高校分布图.html")

从图中可以发现高校中本科和专科数据差不多持平。

4. 全国不同大学隶属情况

最后,我们利用ScatterGraph组件分析城市与高校之间的关联。通过散点图展示各城市高校的数量与分布,或者通过关系图展示城市与高校之间的隶属关系。

python 复制代码
attr = data['隶属于'].tolist()
result = Counter(attr)
# 排序
d = sorted(result.items(), key=lambda x: x[1], reverse=True)
print(d)
key = [i[0] for i in d]
value = [i[1] for i in d]
c = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
        .add_xaxis(xaxis_data=key)
        .add_yaxis("数量", y_axis=value)
        .set_global_opts(
        title_opts=opts.TitleOpts(title="全国不同大学隶属情况"),
        datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")],
    )
        
)
c.render_notebook()

从图中可以看到各个不同单位管理高校的数量,其中河南省管理的高校数量最多,教育部直属管的高校有84所等

5. 高校的坐标点位分析

可以使用百度的地名地址解析接口,将高校的地址转成经纬度,经纬度转成热力图如下;

结论与展望

通过本次全国高校数据集的可视化探索,我们不仅直观地展示了高校的地理分布、类型与层次、标签情况以及与城市的关联,还深刻理解了数据可视化的力量。它让我们能够以前所未有的方式洞察数据背后的故事,为教育决策提供了有力的支持。


如果您在人工智能领域遇到技术难题,或是需要专业支持,无论是技术咨询、项目开发还是个性化解决方案,我都可以为您提供专业服务,如有需要可站内私信或添加下方VX名片(ID:xf982831907)

期待与您一起交流,共同探索AI的更多可能!

相关推荐
生信宝典1 小时前
机器学习算法 - 随机森林之决策树初探(1)
算法·随机森林·机器学习
Jurio.1 小时前
【论文笔记】Are Self-Attentions Effective for Time Series Forecasting? (NeurIPS 2024)
论文阅读·人工智能·python·深度学习·自然语言处理·transformer
月光下的麦克1 小时前
opencv交叉编译
人工智能·opencv·计算机视觉
APItesterCris1 小时前
独立站赋能反向海淘:跨境代购系统的用户体验与支付解决方案
大数据·人工智能·ux
rockmelodies2 小时前
DeepSeek神经网络:技术架构与实现原理探析
人工智能·神经网络·架构
赵钰老师2 小时前
【大语言模型】最新ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模等科研应用
人工智能·python·深度学习·机器学习·语言模型·chatgpt·数据分析
金士镧新材料有限公司2 小时前
稀土抑烟剂——为汽车火灾安全增添防线
人工智能·科技·安全·全文检索·生活
adaierya2 小时前
简化的动态稀疏视觉Transformer的PyTorch代码
人工智能·深度学习
冰淇淋百宝箱2 小时前
解码DeepSeek家族系列:大语言模型赛道上的黑马传奇
人工智能·语言模型·自然语言处理
Data-Miner2 小时前
AI+智能中台企业架构设计_重新定义制造(46页PPT)
人工智能·制造