
CDA數(shù)據(jù)分析師 出品
作者:Mika
數(shù)據(jù):真達(dá)
后期:澤龍
【導(dǎo)讀】
今天我們用數(shù)據(jù)來聊一聊高考。Python技術(shù)分析請(qǐng)看第二部分。
Show me data,用數(shù)據(jù)說話
今天我們聊一聊 高考
高考是人生中非常難忘的一段體驗(yàn),而今年的高考尤為特別。由于今年疫情的影響,3月31日教育部宣布高考延期一個(gè)月,從本來的6月推遲到在7月7日至7月8日舉行,這是17年來,我國(guó)首次調(diào)整高考時(shí)間。
而2020年的高考生也真是特別不容易。熬過疫情的漫長(zhǎng)黑夜,見證了歷史性的高考延期,多了一個(gè)月的埋頭苦讀,多了一個(gè)月對(duì)心態(tài)的考驗(yàn)。
那么歷年的高考人數(shù)、錄取率如何?哪個(gè)地區(qū)的高校最多?都有什么專業(yè)最熱門?今天我們就用數(shù)據(jù)來聊一聊。
01回顧歷年高考人數(shù)和錄取率
我們搜集整理了自1977年恢復(fù)高考以來到2019年,這四十多年來高考人數(shù)、錄取人數(shù)和錄取率的數(shù)據(jù)。
歷年高考人數(shù)數(shù)據(jù)
在圖中我們可以看到:
高考人數(shù):
參加高考的人數(shù)逐年遞增,2008年高考人數(shù)達(dá)到峰值1050萬。之后幾年人數(shù)有所回落。而今年,2020年全國(guó)考生人數(shù)創(chuàng)新高達(dá)到1071萬,是自2009年后十年來再次破千萬。也是近年來人數(shù)最多的一年,
錄取人數(shù):
錄取人數(shù)基本都是逐年遞增,在1997年的時(shí)候,高校錄取人數(shù)終于突破了百萬大關(guān)。
錄取率:
錄取率也基本是逐年遞增,在2005年到2008年這四年時(shí)間,錄取率相對(duì)往年是下降的;隨后伴隨高校陸續(xù)擴(kuò)招,錄取率增長(zhǎng)很快;到了2017年,錄取率達(dá)到了82%,總體來說高等教育的普及率是越來越高了。
接著,我們看到去年2019年各省份的高考一本錄取數(shù)據(jù):
2019年各省份一本錄取線
首先在高考人數(shù)上,河南遙遙領(lǐng)先,高考人數(shù)破百萬,達(dá)到103萬,妥妥的高考大省,其中一本錄取人數(shù)為12.92萬,一本錄取率為12.54%。其次,廣東、四川的高考人數(shù)也不容小覷,分別為76萬和65萬,一本錄取率分別為12.87%和14.72%。
02國(guó)內(nèi)理工類院校占三分之一
江蘇高校數(shù)量最多
高考學(xué)子千千萬,那么我國(guó)各省市的高校分布又是怎樣的呢?全國(guó)哪個(gè)地方的高校最多?
我們分析了中國(guó)教育在線網(wǎng)站(https://gkcx.eol.cn/)的高校數(shù)據(jù),當(dāng)中包含本科院校和高職(???院。
如何獲取數(shù)據(jù)
我們使用Python獲取了中國(guó)教育在線網(wǎng)站的高校數(shù)據(jù),共2904條。以下展示數(shù)據(jù)獲取部分代碼:
https://gkcx.eol.cn/school/search
具體思路如下:
分析網(wǎng)頁,通過翻頁可以發(fā)現(xiàn)數(shù)據(jù)是動(dòng)態(tài)加載的,因此通過Chrome瀏覽器進(jìn)行抓包分析獲取真實(shí)的URL請(qǐng)求地址,并確定請(qǐng)求方式(get還是post);
使用requests請(qǐng)求網(wǎng)頁數(shù)據(jù);
使用json解析并提取數(shù)據(jù);
使用pandas將數(shù)據(jù)保存到本地
首先打開網(wǎng)址,使用Chrome瀏覽器的檢查功能,切換到Network-XHR,點(diǎn)擊翻頁進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)抓包,很容易發(fā)現(xiàn)數(shù)據(jù)都是被封裝在json中的,如下圖所示:
切換到Headers處,確定請(qǐng)求的方法為post請(qǐng)求,得到數(shù)據(jù)請(qǐng)求的URL地址,其中page參數(shù)代表頁數(shù),通過遍歷即可獲取所有數(shù)據(jù)。代碼如下:
# 導(dǎo)入包
import numpy as np
import pandas as pd
import requestsimport json
from fake_useragent import UserAgent
import time
# 獲取一頁
def get_one_page(page_num):
# 獲取URL
url = 'https://api.eol.cn/gkcx/api/'
# 構(gòu)造headers
headers = {
'User-Agent': UserAgent().random,
'Origin': 'https://gkcx.eol.cn',
'Referer': 'https://gkcx.eol.cn/school/search?province=&schoolflag=&recomschprop=', }
# 構(gòu)造data
data = {
'access_token': "",
'admissions': "",
'central': "",
'department': "",
'dual_class': "",
'f211': "",
'f985': "",
'is_dual_class': "",
'keyword': "",
'page': page_num,
'province_id': "",
'request_type': 1.
'school_type': "",
'size': 20.
'sort': "view_total",
'type': "",
'uri': "apigkcx/api/school/hotlists", }
# 發(fā)起請(qǐng)求 try: response = requests.post(url=url, data=data, headers=headers) except Exception as e:
print(e)
time.sleep(3) response = requests.post(url=url, data=data, headers=headers)
# 解析獲取數(shù)據(jù)
school_data = json.loads(response.text)['data']['item']
# 學(xué)校名 school_name = [i.get('name') for i in school_data]
# 隸屬部門
belong = [i.get('belong') for i in school_data]
# 高校層次
dual_class_name = [i.get('dual_class_name') for i in school_data]
# 是否985
f985 = [i.get('f985') for i in school_data]
# 是否211
f211 = [i.get('f211') for i in school_data]
# 辦學(xué)類型
level_name = [i.get('level_name') for i in school_data]
# 院校類型
type_name = [i.get('type_name') for i in school_data]
# 是否公辦
nature_name = [i.get('nature_name') for i in school_data]
# 人氣值
view_total = [i.get('view_total') for i in school_data]
# 省份
province_name = [i.get('province_name') for i in school_data]
# 城市
city_name = [i.get('city_name') for i in school_data]
# 區(qū)域
county_name = [i.get('county_name') for i in school_data]
# 保存數(shù)據(jù)
df_one = pd.DataFrame({
'school_name': school_name,
'belong': belong,
'dual_class_name': dual_class_name,
'f985': f985.
'f211': f211.
'level_name': level_name,
'type_name': type_name,
'nature_name': nature_name,
'view_total': view_total,
'province_name': province_name,
'city_name': city_name,
'county_name': county_name,
})
return df_one
# 獲取多頁
def get_all_page(all_page_num):
# 存儲(chǔ)表
df_all = pd.DataFrame()
# 循環(huán)頁數(shù)
for i in range(all_page_num):
# 打印進(jìn)度
print(f'正在獲取第{i + 1}頁的高校信息')
# 調(diào)用函數(shù)
df_one = get_one_page(page_num=i+1)
# 追加
df_all = df_all.append(df_one, ignore_index=True)
# 隨機(jī)休眠
time.sleep(np.random.uniform(2))
return df_allif __name__ == '__main__':
# 運(yùn)行函數(shù)
df = get_all_page(all_page_num=148)
通過上述程序,共獲取到2904條數(shù)據(jù),數(shù)據(jù)預(yù)覽如下:
df.head()
分析結(jié)果
全國(guó)院校分布:江蘇高校數(shù)量第一
經(jīng)過分析發(fā)現(xiàn),江蘇省在高校數(shù)量上拔得頭籌,以174所高校位居榜首。其次北京有167所,山東和廣東緊隨其后,均為161所。
全國(guó)高校層次:北京的985、211院校最多
我們進(jìn)一步分析數(shù)據(jù)發(fā)現(xiàn),在各省市的高校層次分布中,除了雙非院校,211院校方面,北京的最多有27所,然后是江蘇11所,上海10所。985院校方面呢,北京9所,其次山東和上海均有4所。
高校類型:國(guó)內(nèi)三分之一都是理工院校
然后我們?cè)诜叛廴珖?guó)的高校類型,可以看到理工類院校是最多的,占比高達(dá)30.93%。接著就是綜合類院校了,占比為29.14%。師范類有8.7%。
大學(xué)熱度排名:廈門位居榜首
中國(guó)教育在線網(wǎng)站還有根據(jù)搜索數(shù)據(jù)統(tǒng)計(jì)了高校的人氣值。
我們對(duì)各個(gè)高校的人氣值進(jìn)行統(tǒng)計(jì)發(fā)現(xiàn):
在全國(guó)大學(xué)的人氣值排名中,廈門大學(xué)位居榜首,武漢大學(xué)位居第二,四川大學(xué)位居第三。北大清華位居四五位。
03工學(xué)專業(yè)最多 數(shù)據(jù)解讀報(bào)考專業(yè)
說完了高校,我們?cè)賮砹牧膶I(yè)。我們接著對(duì)中國(guó)教育在線的專業(yè)數(shù)據(jù)進(jìn)行了分析整理,共獲取1450 條數(shù)據(jù)。
學(xué)科專業(yè):工學(xué)專業(yè)最多,哲學(xué)最少
哪些學(xué)科的下分專業(yè)最多呢?統(tǒng)計(jì)發(fā)現(xiàn),工程學(xué)科下的專業(yè)多達(dá)212種,然后是文學(xué),下分的專業(yè)有122種。而哲學(xué)這一學(xué)科下分的專業(yè)最少,僅為4種。
專業(yè)熱度排名:臨床醫(yī)學(xué)搜索最多
同樣的,我們也對(duì)專業(yè)的人氣值進(jìn)行了分析統(tǒng)計(jì):
結(jié)果發(fā)現(xiàn),臨川醫(yī)學(xué)的搜索度特別高,位居首位。其次是商務(wù)經(jīng)濟(jì)學(xué),以及電氣工程與智能控制。
#沒學(xué)過卻很好奇的專業(yè)# 大家對(duì)什么專業(yè)最好奇
在專業(yè)方面,網(wǎng)友們又對(duì)對(duì)哪些專業(yè)感興趣呢?微博上#沒學(xué)過卻很好奇的專業(yè)#這一話題目前閱讀達(dá)到1.3億,討論達(dá)到1.3萬。
我們從中獲取并分析了3544條數(shù)據(jù),可以看到:
大家最好奇的專業(yè)排行榜上:心理學(xué)是妥妥的首位,看來如今人們是越來越重視心理健康了。第二位是護(hù)理學(xué),第三位是考古學(xué)。
以上就是本次的全部分析啦,最后祝本次高考學(xué)子都能取得好成績(jī),進(jìn)入理想的大學(xué)!
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場(chǎng)景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場(chǎng)景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請(qǐng)求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請(qǐng)求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請(qǐng)求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長(zhǎng)浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營(yíng)問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營(yíng)銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營(yíng)銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場(chǎng)景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡(jiǎn)單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10