99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀帶你用python解讀高考數(shù)據(jù):全國哪里的高校最多?什么專業(yè)最熱門?
帶你用python解讀高考數(shù)據(jù):全國哪里的高校最多?什么專業(yè)最熱門?
2020-07-13
收藏

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年來,我國首次調(diào)整高考時(shí)間。

而2020年的高考生也真是特別不容易。熬過疫情的漫長黑夜,見證了歷史性的高考延期,多了一個(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年全國考生人數(shù)創(chuàng)新高達(dá)到1071萬,是自2009年后十年來再次破千萬。也是近年來人數(shù)最多的一年,

錄取人數(shù):

錄取人數(shù)基本都是逐年遞增,在1997年的時(shí)候,高校錄取人數(shù)終于突破了百萬大關(guān)。

錄取率:

錄取率也基本是逐年遞增,在2005年到2008年這四年時(shí)間,錄取率相對(duì)往年是下降的;隨后伴隨高校陸續(xù)擴(kuò)招,錄取率增長很快;到了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國內(nèi)理工類院校占三分之一

江蘇高校數(shù)量最多

高考學(xué)子千千萬,那么我國各省市的高校分布又是怎樣的呢?全國哪個(gè)地方的高校最多?

我們分析了中國教育在線網(wǎng)站(https://gkcx.eol.cn/)的高校數(shù)據(jù),當(dāng)中包含本科院校和高職(專科)院。

如何獲取數(shù)據(jù)

我們使用Python獲取了中國教育在線網(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é)果

全國院校分布:江蘇高校數(shù)量第一

經(jīng)過分析發(fā)現(xiàn),江蘇省在高校數(shù)量上拔得頭籌,以174所高校位居榜首。其次北京有167所,山東和廣東緊隨其后,均為161所。

全國高校層次:北京的985、211院校最多

我們進(jìn)一步分析數(shù)據(jù)發(fā)現(xiàn),在各省市的高校層次分布中,除了雙非院校,211院校方面,北京的最多有27所,然后是江蘇11所,上海10所。985院校方面呢,北京9所,其次山東和上海均有4所。

高校類型:國內(nèi)三分之一都是理工院校

然后我們?cè)诜叛廴珖母咝n愋?,可以看到理工類院校是最多的,占比高達(dá)30.93%。接著就是綜合類院校了,占比為29.14%。師范類有8.7%。

大學(xué)熱度排名:廈門位居榜首

中國教育在線網(wǎng)站還有根據(jù)搜索數(shù)據(jù)統(tǒng)計(jì)了高校的人氣值。

我們對(duì)各個(gè)高校的人氣值進(jìn)行統(tǒng)計(jì)發(fā)現(xiàn):

在全國大學(xué)的人氣值排名中,廈門大學(xué)位居榜首,武漢大學(xué)位居第二,四川大學(xué)位居第三。北大清華位居四五位。

03工學(xué)專業(yè)最多 數(shù)據(jù)解讀報(bào)考專業(yè)

說完了高校,我們?cè)賮砹牧膶I(yè)。我們接著對(duì)中國教育在線的專業(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ìn)入理想的大學(xué)!

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }