省/市 | 2020年 | 2019年 | 2018年 | 2017年 | 2016年 | 2015年 | 2014年 | 2013年 | 2012年 |
---|---|---|---|---|---|---|---|---|---|
全國 | 1071萬↑ | 1031萬↑ | 975萬↑ | 940萬 | 940萬↓ | 942萬↑ | 939萬↑ | 912萬↓ | 915萬↓ |
河南 | 115.8萬↑ | 100萬+↑ | 98.3萬↑ | 86.3萬↑ | 82萬↑ | 77.2萬↑ | 72.4萬↓ | 71.63萬↓ | 80.5萬↑ |
廣東 | 78.8萬↑ | 76.8萬↑ | 75.8萬↑ | 75.7萬↑ | 73.3萬↓ | 75.4萬↓ | 75.6萬↑ | 72.7萬↑ | 69.2萬↑ |
四川 | 67萬↑ | 65萬↑ | 62萬↑ | 58.3萬↑ | 57.13萬 | 超57萬 | 57.17萬↑ | 54萬↑ | 53.8萬↑ |
河北 | 62.48萬↑ | 55.96萬↑ | 48.6萬↑ | 43.6萬↑ | 42.31萬↑ | 40.48萬↓ | 41.82萬↓ | 44.98萬↓ | 45.93萬↓ |
安徽 | 52.38萬↑ | 51.3萬↑ | 49.9萬 | 49.9萬↓ | 50.99萬↓ | 54.6萬↑ | 52.7萬↑ | 51.1萬↑ | 50.6萬↓ |
湖南 | 53.7萬↑ | 50萬↑ | 45.2萬↑ | 41.1萬↑ | 40.16萬↑ | 38.99萬↑ | 37.8萬↑ | 37.3萬↑ | 35.2萬↓ |
山東 | 53萬↓ | 55.99萬↑ | 59.2萬↑ | 58.3萬↓ | 60.2萬↑ | 69.61萬↑ | 55.8萬↑ | 50萬↓ | 51萬↓ |
廣西 | 50.7萬↑ | 46萬↑ | 40萬↑ | 36.5萬↑ | 33萬余↑ | 近31萬↓ | 31.5萬↑ | 29.8萬↑ | 28.5萬↓ |
貴州 | 47萬↑ | 45.8萬↑ | 44.1萬↑ | 41.2萬↑ | 37.38萬↑ | 33.05萬↑ | 29.27萬↑ | 24.78萬↓ | 24.8萬↑ |
江西 | 38.94萬↓ | 42.1萬↑ | 38萬↑ | 36.5萬↑ | 36.06萬↑ | 35.46萬↑ | 32.59萬↑ | 27.43萬↑ | 26.9萬↓ |
湖北 | 39.48萬↑ | 38.4萬↑ | 37.4萬↑ | 36.2萬↑ | 36.14萬↓ | 36.84萬↓ | 40.27萬↓ | 43.8萬↓ | 45.7萬↓ |
江蘇 | 34.89萬↑ | 33.9萬↑ | 33萬 | 33萬↓ | 36.04萬↓ | 39.29萬↓ | 42.57萬↓ | 45.1萬↓ | 47.4萬↓ |
山西 | 32.6萬↑ | 31.4萬↑ | 30.5萬↓ | 31.7萬↓ | 33.9萬↓ | 34.22萬↑ | 34.16萬↓ | 35.8萬↓ | 36.1萬↑ |
云南 | 34.3萬↑ | 32.6萬↑ | 30萬↑ | 29.3萬↑ | 28萬↑ | 27.21萬↑ | 25.59萬↑ | 23.6萬↑ | 21萬↓ |
陜西 | 32.23萬↓ | 32.59萬↑ | 31.9萬 | 31.9萬↓ | 32.8萬余↓ | 34.4萬↓ | 35.3萬↓ | 36.65萬↓ | 37.53萬↓ |
浙江 | 32.57萬↑ | 31.5萬↑ | 30.6萬↑ | 29.1萬↓ | 30.74萬↓ | 31.79萬↑ | 30.86萬↓ | 31.3萬↓ | 31.6萬↑ |
重慶 | 28.3萬↑ | 26.4萬↑ | 25萬↑ | 24.7萬↓ | 24.88萬↓ | 25.54萬↑ | 25.06萬↑ | 23.5萬↑ | 23萬↑ |
遼寧 | 24.4萬↑ | 18.5萬↓ | 20.8萬↓ | 21.82萬↓ | 22.51萬↓ | 23.9萬↓ | 25.4萬↓ | 25.6萬↑ | |
甘肅 | 26.31萬↑ | 21.8萬↓ | 27.3萬↓ | 28.5萬↓ | 29.6萬余↓ | 30.38萬↑ | 29.7萬↑ | 28.3萬↓ | 29.6↓ |
黑龍江 | 21.1萬↑ | 20.6萬↑ | 16.9萬↓ | 18.8萬↓ | 19.7萬↓ | 19.8萬↓ | 20.4萬↓ | 20.8萬↓ | 21萬↑ |
福建 | 20.26萬↓ | 20.78萬↑ | 20萬↑ | 18.8萬↑ | 17.5萬↓ | 18.93萬↓ | 25.5萬 | 25.5萬↑ | 25萬↓ |
內(nèi)蒙古 | 197901↑ | 19.5萬↓ | 19.8萬↓ | 20.11萬↓ | 18.4萬↓ | 18.8萬↓ | 19.3萬↑ | 18.95萬↓ | |
新疆 | 22.93萬↑ | 20.7萬↑ | 18.4萬↑ | 16.61萬↑ | 16.05萬↓ | 16.26萬↑ | 15.87萬↑ | 15.47萬↑ | |
吉林 | 15萬余↑ | 15萬↑ | 14.3萬↓ | 14.85萬↓ | 13.76萬↓ | 16.02萬↑ | 15.9萬↓ | 16.2萬↓ | |
寧夏 | 60298↓ | 7.17萬↑ | 6.9萬 | 6.9萬 | 6.9萬↑ | 6.7萬↑ | 6.4萬↑ | 5.87萬↓ | 6.02萬↑ |
海南 | 57336↓ | 5.9萬↑ | 5.8萬↑ | 5.7萬↓ | 6.04萬↓ | 6.2萬↑ | 6.1萬↑ | 5.6萬↑ | 5.5萬↑ |
北京 | 49225↓ | 5.9萬↓ | 6.3萬↑ | 6萬↓ | 6.12萬↓ | 6.8萬↓ | 7.05萬↓ | 7.27萬↓ | 7.3萬↓ |
青海 | 46620↑ | 44313↑ | 4.2萬↓ | 4.6萬↑ | 4.5萬↑ | 4.2萬↑ | 3.97萬↓ | 4.06萬↑ | 3.8萬↓ |
天津 | 56258↑ | 5.5萬 | 5.5萬↓ | 5.7萬↓ | 約6萬↓ | 6.1萬↓ | 約6萬 | 6.3萬↓ | 6.4萬↓ |
上海 | 5萬 | 5萬+ | 約5.1萬 | 5.1萬↓ | 5.2萬↓ | 5.3萬↓ | 5.5萬↓ | ||
西藏 | 32973↑ | 2.5萬↓ | 2.8萬↑ | 2.4萬↑ | 2.1萬↑ | 1.96萬↑ | 1.89萬↓ | 1.9萬↑ |
這個表的數(shù)據(jù)是統(tǒng)計的全國各個省市(除港澳臺)之外的數(shù)據(jù), 各個省市在出成績之后會出各自的一分一段表, 統(tǒng)計每一分的成績的人數(shù), 我們以這個數(shù)據(jù)為準(zhǔn), 由于個人還是沒有太多精力去收集數(shù)據(jù)的,網(wǎng)上找到了 高考100-一分一段表
這個網(wǎng)站, 給出了各個省市的一分一段表, excel 版本, 稍微檢查了一下, 數(shù)據(jù)應(yīng)該是對的,我就暫時以這個數(shù)據(jù)為準(zhǔn),
數(shù)據(jù)太多, 我暫時只做 35萬 以上人的省市,只有11個省市,加上 北京上海兩個城市的數(shù)據(jù),
其中北京上海不分科,山東是選擇一門考試進行考核, 所以 一共23個數(shù)據(jù)表,后續(xù)的話,我盡量將數(shù)據(jù)也一并上傳了
數(shù)據(jù)整理
上面也提到了北京上海山東的分科比較特殊, 我們就按文理一起算,每個省都是給出最高分及以上的數(shù)據(jù), 然后給出100分及以下的數(shù)據(jù),但是不是每個省都是100分以下,所以還要特殊考慮,
不同高考政策與分類
山東的高考政策具體不清楚, 但是似乎是考生是在6門副科中任選3門,從一圖了解山東高考改革要點
這里查到的
我們就不做分科了, 直接看山東的全體成績即可。
不同統(tǒng)計方式
北京的人數(shù)更少,在400分以下每10分段給出人數(shù),我們?yōu)榱吮阌诜奖?默認(rèn)每個分?jǐn)?shù)平均人數(shù), 比如 390-399分段的人有813人,我們認(rèn)為每個分段都有81.3人,暫時這么處理。
不同省市對于最高分?jǐn)?shù)的表示都是 最高分?jǐn)?shù)及以上, 但是對于最低分?jǐn)?shù)的處理就不太一樣了, 這里不做評價
比如很多省市是合并在一起 100分以下總計, 有些則只是100分的成績, 100分以下的成績是沒有給出的,這里最后處理的時候, 我們把0分的人都刪除了, 只計算1-100 的人,反正不影響整個曲線
最終我們整理得到數(shù)據(jù)表, 每個Sheet 表示一個省市的文理科目,然后最上面一行數(shù)據(jù)分別對應(yīng) 總分,人數(shù), 累計人數(shù),
數(shù)據(jù)處理
數(shù)據(jù)處理思路
這里為了方便 順手用 Python 來做的, 使用的 pandas 讀取的 excel 文件,
我們統(tǒng)計所有的數(shù)據(jù)的目標(biāo)就是 將成績化為 0-100分
那么
\[變換后分?jǐn)?shù) = \frac{當(dāng)前分?jǐn)?shù)-最低分}{最高分-最低分} \times 100\]
對于每個省的成績將其調(diào)整到 [0,100], 這里使用的是 四舍五入, 導(dǎo)致實際在計算過程中的數(shù)據(jù)會重疊,比如相鄰的兩個成績一個舍去,一個入上,在統(tǒng)一分?jǐn)?shù),導(dǎo)致數(shù)據(jù)噪聲較大, 這是使用 一維的中值濾波平滑一下數(shù)據(jù)就好了,
以河南文科為例, 我們直接繪制歸一化之后的成績并進行中值濾波之后對比,
(圖為測試過程中歸一化到500分的圖像,不影響理解)
各省市分?jǐn)?shù)分布
我們在之前已經(jīng)整理得到的數(shù)據(jù), 然后我們 就要動手做了,
# 整理數(shù)據(jù),將各省市的成績歸一到100分之后的分布比率 # 引入 pandas import pandas as pd import matplotlib import matplotlib.pyplot as plt import scipy.signal as ss # 設(shè)定中文字體 plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標(biāo)簽 plt.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號 # 設(shè)定圖像尺寸 與分辨率 plt.rcParams['figure.figsize'] = (8.0, 4.0) # 設(shè)置figure_size尺寸 plt.rcParams['image.interpolation'] = 'nearest' # 設(shè)置 interpolation style plt.rcParams['savefig.dpi'] = 300 #圖片像素 plt.rcParams['figure.dpi'] = 300 #分辨率 # 將成績統(tǒng)一到 [0,] 區(qū)間 MAX_SCORE = 100 MIN_SCORE = 0 data_file = 'Data/data.xlsx' res_file = 'Data/res-'+str(MAX_SCORE-MIN_SCORE)+'.xlsx' # 讀取excel , 獲取所有表單名字 excel_info = pd.ExcelFile(data_file) all_data = {} all_data_ratio = {} # 獲取表中的每一個數(shù)據(jù)文件 并將數(shù)據(jù)歸一化到 0-500 for index in range(len(excel_info.sheet_names)): # 讀取每一個表單 cur_sheetname = excel_info.sheet_names[index] df_sheet = pd.read_excel(data_file, sheet_name=cur_sheetname) # 獲取每一個表中的 總分?jǐn)?shù) 和對應(yīng)分?jǐn)?shù)的人數(shù) scores = df_sheet[df_sheet.columns.values[0]] nums = df_sheet[df_sheet.columns.values[1]] # 數(shù)據(jù) 對應(yīng) 每個分?jǐn)?shù)的人數(shù) 表 ROWS = MAX_SCORE - MIN_SCORE + 1 trans_scores_nums = [0] * ROWS rows = len(scores) cur_max_score = scores[0] cur_min_score = scores[rows - 1] cur_index = 0; for s in scores: # 計算 變換之后的分?jǐn)?shù) 四舍五入 trans_score = (int)(round((s - cur_min_score) / (cur_max_score - cur_min_score) * (MAX_SCORE - MIN_SCORE))) # 在計算分?jǐn)?shù)的位置上 加上對應(yīng)分?jǐn)?shù)的人數(shù) trans_scores_nums[trans_score - 1] += nums[cur_index]; cur_index += 1 # 數(shù)據(jù)稍微處理一下, 做簡單的平滑處理, 去除最低分?jǐn)?shù)據(jù) except0data = [0] * (ROWS - 1) for i in range(ROWS - 1): except0data[i] = trans_scores_nums[i + 1]; # 中值濾波去除噪點 smooth_trans = ss.medfilt(except0data, 7) # 將數(shù)據(jù)轉(zhuǎn)換成比例, 更具有一般性 sum = 0 smooth_trans_ratio = [0] * (ROWS - 1) for i in range(ROWS - 1): sum += smooth_trans[i] for i in range(ROWS - 1): smooth_trans_ratio[i] = smooth_trans[i] / sum all_data[cur_sheetname] = smooth_trans all_data_ratio[cur_sheetname] = smooth_trans_ratio print('正在進行 {0}/{1}, 表名:{2}'.format(index + 1, len(excel_info.sheet_names), cur_sheetname)) # plt.plot(smooth_trans2) # write_data = pd.DataFrame(all_data) # write_data.to_excel(res_file,sheet_name='res') write_data_ratio = pd.DataFrame(all_data_ratio) write_data_ratio.to_excel(res_file, sheet_name='ratio') print('已經(jīng)完成,存儲文件:{0}'.format(res_file))
我們在這個程序里面主要是 將數(shù)據(jù)提取出來, 計算成 100分制之后,重新存入 excel 表中,其中人數(shù)部分換成了各省市的人數(shù)比率,也方便查閱后續(xù)的數(shù)據(jù)
( 因為我感覺 plt 繪制圖像不好看,這邊使用了MATLAB 進行圖像的繪制過程)
% 將 原始數(shù)據(jù)繪制出來 并計算平均值和中值 % 讀取 excel 數(shù)據(jù) 獲取名稱以及各列名稱 data_file = 'Data/res-100.xlsx'; res_ratio = xlsread(data_file,1,'B2:X501'); res_name = {'河南文科', '河南理科', '北京', '上海', '河北文科', '河北理科', '山東', '廣東文科' '廣東理科' '湖北文科', '湖北理科', '湖南文科', '湖南理科', '四川文科', '四川理科', '安徽文科', '安徽理科', '廣西文科', '廣西理科', '貴州文科', '貴州理科', '江西文科', '江西理科'}; figure() hold on [rows,cols] = size(res_ratio); avg = zeros(cols,1); media =zeros(cols,1); for i=1:cols % 繪制百分比率圖 plot(res_ratio(:,i)*100); % 計算平均值 中值 media_l = 0.5; media_find_flg = 0; for j = 1:rows avg(i) = avg(i) + j*res_ratio(j,i); % 統(tǒng)計比率超過一半的 數(shù)之后就是中值 找到后就不更新了 if(media_find_flg ==0) if(media_l >0) media_l = media_l - res_ratio(j,i); else media(i) = j; media_find_flg = 1; end end end end legend(res_name); % 創(chuàng)建 xlabel xlabel({'歸一化到100分后成績'}); % 創(chuàng)建 title title({'各省市歸一化成績分布比率'}); % 創(chuàng)建 ylabel ylabel({'單位成績分布比率'});
最終我們得到了這樣的一副圖, 細(xì)節(jié)部分比較多,且數(shù)據(jù)噪聲較大,但是數(shù)據(jù)的整體趨勢大概明白了,噪聲較大的黃色的線是北京的,暫時不做過多分析
各省市分?jǐn)?shù)平均值與中值
我們這里的計算平均值就是 每分段人數(shù)乘以該分段的比例,最終得到的結(jié)果,
然后, 中值這里簡單除暴, 找到中間比率所在的區(qū)間就好了, 代碼沒有去過多處理, 能跑出來結(jié)果就好
**** | 平均數(shù) | 中數(shù) | 眾數(shù) |
---|---|---|---|
河南文科 | 49.48792233 | 50 | 46 |
河南理科 | 54.58292813 | 58 | 65 |
北京 | 68.04792125 | 70 | 70 |
上海 | 57.56537197 | 60 | 62 |
河北文科 | 51.23109382 | 52 | 37 |
河北理科 | 58.00918618 | 61 | 66 |
山東 | 53.14176529 | 56 | 60 |
廣東文科 | 47.7185653 | 49 | 52 |
廣東理科 | 48.64707915 | 51 | 55 |
湖北文科 | 48.50952865 | 49 | 37 |
湖北理科 | 51.9093088 | 55 | 64 |
湖南文科 | 60.26081026 | 62 | 72 |
湖南理科 | 59.09632919 | 62 | 65 |
四川文科 | 54.82215427 | 57 | 59 |
四川理科 | 61.59698771 | 64 | 60 |
安徽文科 | 51.95829486 | 55 | 69 |
安徽理科 | 54.62690506 | 57 | 56 |
廣西文科 | 37.84799656 | 37 | 31 |
廣西理科 | 41.46558284 | 41 | 33 |
貴州文科 | 63.48516406 | 65 | 64 |
貴州理科 | 57.96584346 | 58 | 56 |
江西文科 | 53.35740184 | 55 | 71 |
江西理科 | 56.85982591 | 61 | 62 |
數(shù)據(jù)簡單分析
我們在上一章節(jié)給出了一張圖, matlab 繪制的圖的顏色比較接近, 建議下載原圖觀看,給出了分布圖,
我們把數(shù)據(jù)最為特殊的幾條線單獨繪制一下,
其實這些形態(tài)是有獨特的意義的,理論上的曲線是正太分布的,但是由于各種原因,我們以實際曲線為主,
就總體而言, 各個省市的成績的峰值(眾數(shù))也主頁也分為兩個部分,部分省市的峰值在40分左右,主要包括河南文科,河北文科,湖北文科,廣西文科,廣西理科
剩下的分?jǐn)?shù)的眾數(shù)都集中在60分多一點的位置,
emmm, 就這么多了, 再多的分析也沒有太多用, 畢竟北京NB
剩下的部分就是 高考本科上線率這種數(shù)據(jù)了, 但是各省對于本科的分?jǐn)?shù)線真是不同
我給出的數(shù)據(jù)是我在各地高考?xì)v年分?jǐn)?shù)線(批次線) 這個網(wǎng)頁上能看到2020 年各省高考批次線, 一般的省市都是劃分 1本2本??疲?除了北京,上海,河北,山東,廣東
后面想辦法再做吧, 估計會不做了
高考大省與高考小省
我們拿高考大省河南河北然后對比上海和北京, 看下數(shù)據(jù)
其實這里應(yīng)該去找數(shù)據(jù)軸上的最明顯特征的線, 具體數(shù)據(jù)自己分析好了
但是我們暫時只看這幾個數(shù)據(jù),
**** | 平均數(shù) | 中數(shù) | 眾數(shù) |
---|---|---|---|
河南文科 | 49.48792233 | 50 | 46 |
河南理科 | 54.58292813 | 58 | 65 |
北京 | 68.04792125 | 70 | 70 |
上海 | 57.56537197 | 60 | 62 |
河北文科 | 51.23109382 | 52 | 37 |
河北理科 | 58.00918618 | 61 | 66 |
都是前面給出的數(shù)據(jù), 我們繪制出來了
北京的成績是明顯優(yōu)于河北的,河南和上海的數(shù)據(jù)其實是一直的,即使是在全部曲線圖上也算比較中間的類型了,
總結(jié)
搞了半天, 屁用沒有,就是手癢然后就搞了一大堆, 越搞越多, 后續(xù)還有一堆要做的,
根據(jù)本篇數(shù)據(jù)而言, 北京的成績是比全國各個省市的成績要好的,可能與培養(yǎng)方式不同吧,
其實這種分?jǐn)?shù)分布并不一定是培養(yǎng)造成的, 還有部分是各省考試情況不同導(dǎo)致的,所以數(shù)據(jù)僅供參考, 北京NB
備注
我將所有的數(shù)據(jù)都存在了 Github 上
https://github.com/SChen1024/GaoKao
有興趣的可隨便拿數(shù)據(jù)進行分析, 后續(xù)還會做完最后一點
到此這篇關(guān)于數(shù)據(jù)分析2020年全國各省高考成績分布情況的文章就介紹到這了,更多相關(guān)2020年全國各省高考成績內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
標(biāo)簽:鎮(zhèn)江 臺州 株洲 哈密 平頂山 鶴崗 綿陽 商丘
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《數(shù)據(jù)分析2020年全國各省高考成績分布情況》,本文關(guān)鍵詞 數(shù)據(jù)分析,2020,年全國,各省,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。