主頁 > 知識庫 > 數(shù)據(jù)分析2020年全國各省高考成績分布情況

數(shù)據(jù)分析2020年全國各省高考成績分布情況

熱門標(biāo)簽:廊坊地圖標(biāo)注申請入口 北京外呼系統(tǒng)咨詢電話 慶陽外呼系統(tǒng)定制開發(fā) 合肥阿里辦理400電話號 地圖標(biāo)注資源分享注冊 怎么去掉地圖標(biāo)注文字 高德地圖標(biāo)注公司位置需要錢嗎 海南人工外呼系統(tǒng)哪家好 襄陽外呼增值業(yè)務(wù)線路解決方案

開始

突發(fā)奇想, 想看下高考成績的分布, 如果把每個省市的成績劃線成0-100 分會怎么樣,簡單的來說, 認(rèn)為最高分的考了100分,最低分考了0分, 計算一下各個分?jǐn)?shù)段的人數(shù)就好了,

順便可以用這個數(shù)據(jù)看每個省市的一本線劃分比率,還有其他相關(guān)的數(shù)據(jù),

看起來還是比較簡單的, 動手試試

數(shù)據(jù)收集

網(wǎng)上找了一下, 每年的高考人數(shù), 現(xiàn)在已經(jīng)超過千萬人高考了,河南更是超過了100萬,
數(shù)據(jù)來源:新浪教育 https://edu.sina.cn/zt_d/gkbm

省/市 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ù)據(jù)整體偏大
  • 靠左整體偏小
  • 最高的表示數(shù)據(jù)比較集中,
  • 最低的表示數(shù)據(jù)分布均勻
  • 雙峰的表示數(shù)據(jù)割裂嚴(yán)重(我瞎編的)。。。

就總體而言, 各個省市的成績的峰值(眾數(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)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 2008高考成績時間查詢方法

標(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)。
  • 相關(guān)文章
  • 下面列出與本文章《數(shù)據(jù)分析2020年全國各省高考成績分布情況》相關(guān)的同類信息!
  • 本頁收集關(guān)于數(shù)據(jù)分析2020年全國各省高考成績分布情況的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章