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

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

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

  • 一、引言
  • 二、导入分析库与数据清洗
  • 三、pyecharts可视化实践
    • 3.1 高校地理分布图
    • 3.2 全国不同类型大学数量情况
    • 3.3 高校类型与层次分析图
    • 3.4 全国不同大学隶属情况
    • 3.5 高校的坐标点位分析
  • 四、结论与展望

一、引言

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

二、导入分析库与数据清洗

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

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 Fakerdf = pd.read_csv("全国大学数据.csv",encoding='gbk')
df.head()

  数据具体的格式如下:

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

province_mapping = {'北京':"北京市",'天津':"天津市",'河北':"河北省",'山西':"山西省",'内蒙古':"内蒙古自治区",'辽宁':"辽宁省"...
}df['省份'] = df['省份'].map(province_mapping)

三、pyecharts可视化实践

3.1 高校地理分布图

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

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所搞笑;长三角地区的高校明显高于其它地区,中部四川省高校最多,南部广东省高校最多,西部地区高校分布的数量相对较少;

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

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.3 高校类型与层次分析图

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

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所。

# 分析本科与专科高校的分布情况
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")


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

3.4 全国不同大学隶属情况

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

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所等

3.5 高校的坐标点位分析

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

四、结论与展望

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/65229.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

141.《mac m1安装mongodb详细教程》

文章目录 下载从官网下载安装包 下载后双击解压出文件夹安装文件名修改为 mongodb配置data存放位置和日志log的存放位置启动方式一方式二方式二:输入mongo报错以及解决办法 本人电脑 m2 pro,属于 arm 架构 下载 官网地址: mongodb官网 怎么查看自己电脑应该下载哪个版本,输入…

frameworks 之 Winscope 工具

frameworks 之 Winscope 工具 1. 手机端开启2. 加载追踪的文件2.1 Android12 3. 分析文件 Winscope 是一款 Web 工具,可以让用户在动画和转换期间和之后记录、重放和分析多个系统服务的状态。Winscope 将所有相关的系统服务状态记录在一个跟踪文件中。使用带有跟踪文…

在日期字段中自动插入斜杠“/”的最佳方法是什么

我正在尝试向输入日期字段添加功能&#xff0c;以便当用户输入数字时&#xff0c;自动添加斜杠“/”。 所以假设我有以下 html&#xff1a; <input type"text" id"fooDate" />假设我有以下 javascript&#xff1a; var dateField document.getElem…

极限学习机 (Extreme Learning Machine, ELM) 算法详解与PyTorch实现

极限学习机 (Extreme Learning Machine, ELM) 算法详解与PyTorch实现 目录 极限学习机 (Extreme Learning Machine, ELM) 算法详解与PyTorch实现1. 极限学习机 (ELM) 算法概述1.1 单隐层前馈神经网络1.2 ELM的优势2. ELM的核心技术2.1 模型定义2.2 随机初始化2.3 最小二乘法2.4…

【姿态估计实战】使用OpenCV和Mediapipe构建锻炼跟踪器【附完整源码与详细说明】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…

nvm如何安装

一、简介 在实际的开发和学习中可能会遇到不同项目的 node 版本不同&#xff0c;而出现的兼容性问题。 而 nvm 就可以很好的解决这个问题&#xff0c;它可以在同一台机器上下管理多个 node 版本&#xff0c;使得程序员可以轻松地安装、卸载和切换不同的 node 版本。 在下载和配…

cityhash–对字符串的哈希算法

原文地址&#xff1a;cityhash–对字符串的哈希算法 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 分享一个给字符串计算hash的开源库&#xff0c;谷歌出品。 源代码在&#xff1a;https://github.com/google/cityhash 可以自己下载&#x…

spring cloud微服务分布式架构

spring cloud微服务分布式架构 应用架构 单体应用架构&#xff1a;all in one 如&#xff1a;前端后端部署在一台服务器中 web应用和数据库放在同一台服务器中&#xff0c;只要服务器挂掉&#xff0c;应用就会终止。 分布式架构&#xff1a;将一个系统拆分为多个独立的组件&…

【HarmonyOS】鸿蒙应用点9图的处理(draw9patch)

【HarmonyOS】鸿蒙应用点9图的处理&#xff08;draw9patch&#xff09; 一、前言&#xff1a; 首先在鸿蒙中是不支持安卓 .9图的图片直接使用。只有类似拉伸的处理方案&#xff0c;鸿蒙提供的Image组件有与点九图相同功能的API设置。 可以通过设置resizable属性来设置Resiza…

深入Android架构(从线程到AIDL)_12 Android UI 单线程程序

目录 6、 Android UI 单线程程序 單線程程序概念 单线程可避免线程安全问题 SurfaceView与非UI线程 6、 Android UI 单线程程序 單線程程序概念 单线程程序意谓着两个(或多个)线程不能共享对象或变量值。Android的UI是单线程程序的环境。UI控件(如Button等)都是由UI线程所…

STM32-笔记36-ADC(模拟/数字转换器)

一、什么是ADC&#xff1f; 全称&#xff1a;Analog-to-Digital Converter&#xff0c;指模拟/数字转换器。 ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁。 12 位 ADC 是一种逐次逼近型模拟数字转换器&#xff08;0…

房产销售系统(源码+数据库+文档)

亲测完美运行带论文&#xff1a;文末获取源码 文章目录 项目简介&#xff08;论文摘要&#xff09;运行视频包含的文件列表&#xff08;含论文&#xff09;前端运行截图后端运行截图 项目简介&#xff08;论文摘要&#xff09; 随着科学技术的飞速发展&#xff0c;各行各业都在…

游戏社交趋势下,游戏语音再升级!

如今&#xff0c;游戏已成为我们社交生活的一个重要娱乐方式&#xff0c;春节临近&#xff0c;与亲朋好友一起畅玩“开黑”无疑是节假日的一大乐趣。在游戏社交互动中&#xff0c;“游戏语音”不可或缺。在传统游戏语音领域&#xff0c;多人在线游戏如 MOBA、FPS 和 MMORPG 的实…

HTML5实现好看的博客网站、通用大作业网页模板源码

HTML5实现好看的博客网站、通用大作业网页模板源码 前言一、设计来源1.1 主界面1.2 列表界面1.3 文章界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看的博客网站、通用大作业网页模板源码&#xff0c;博客网站源码&#xff0c;HTML模板源码&#xff0…

ArcGIS中怎么把数据提取到指定范围(裁剪、掩膜提取)

最近&#xff0c;经常能收到怎么把数据提取到指定范围、栅格数据怎么裁剪、矢量数据怎么裁剪、栅格数据怎么掩膜提取的咨询。 下面是我对这个问题的解决思路&#xff1a; 对于矢量数据&#xff1a; ①首先把数据加载进来 ②软件界面上面的工具栏找到→地理处理→裁剪&#x…

PHP 使用集合 处理复杂数据 提升开发效率

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…

(转)rabbitmq怎么保证消息不丢失?

RabbitMQ 可以通过以下多种机制来保证消息不丢失&#xff1a; 生产阶段 - 持久化队列和交换器&#xff1a; - 在声明队列和交换器时&#xff0c;将 durable 参数设置为 true &#xff0c;确保它们是持久化的。这样&#xff0c;即使 RabbitMQ 节点重新启动&#xff0c;队列和交…

node.js内置模块之---stream 模块

stream 模块的作用 在 Node.js 中&#xff0c;stream 模块是一个用于处理流&#xff08;stream&#xff09;的核心模块。流是一种处理数据的抽象方式&#xff0c;允许程序处理大量数据时不会一次性将所有数据加载到内存中&#xff0c;从而提高性能和内存效率。通过流&#xff0…

手持PDA终端,提升零售门店管理效率

随着科技的不断进步和零售行业的持续发展&#xff0c;手持PDA终端的应用将会越来越广泛。它将不断融合更多先进的技术和功能&#xff0c;为零售门店管理带来更加便捷、高效、智能的解决方案。 手持PDA终端是集成了数据处理、条码扫描、无线通信等多种功能于一体的便携式设备‌…

LeetCode -Hot100 - 53. 最大子数组和

前言 本专栏主要通过“LeetCode 热题100”&#xff0c;来捡起自己本科阶段的算法知识与技巧。语言主要使用c/java。如果同样正在练习LeetCode 热题100的朋友欢迎关注或订阅本专栏。有疑问欢迎留言交流~ 题目描述 题目链接 示例 1&#xff1a; 输入&#xff1a;nums [-2,1…