【數據可視化-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.pswp.cn/web/65229.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/65229.shtml
英文地址,請注明出處:http://en.pswp.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…