Python预测2020高考分数和录取情况


Posted in Python onJuly 08, 2020

“迟到”了一个月的高考终于要来了。

Python预测2020高考分数和录取情况

正好我得到了一份山东新高考模拟考的成绩和山东考试院公布的一分一段表,以及过去三年的普通高考本科普通批首次志愿录取情况统计。2020年是山东新高考改革的元年,全新的录取模式以及选考科目要求都给考生带来了非常大的挑战。

我正好就本次山东模拟考的成绩进行深入数据分析,用python可视化带大家模拟一下2020高考分数和录取情况。

(代码较长,故只展示部分,完整数据+源码下载见文末)

不同考生的成绩分布图

首先对山东新高考模拟考的成绩进行总体描述:

fig = make_subplots(rows=4,cols=2, #4行2列
          subplot_titles=('所有考生',"物理", "历史", "化学", "地理", "生物", "政治"),
          specs=[[{'colspan': 2},None],[{},{}],[{},{}],[{},{}],
             ]) #specs参数定义了如何分配视图区间, 本案例中的“specs=[[{}, {}],[{'colspan': 2},None]]”表示其他行的两个子图平均分配区间, 第一行的第一个子图占据 2列的区间, 并且不存在第二个子图

fig.add_trace(go.Scatter(
  x = raw_data['分数段'], 
  y = raw_data['所有考生本段人数'],
  fill = 'tozeroy',
  mode = 'lines',  
  marker = dict(
    size = 8,
    color =  'rgb(88, 182, 192)'
   )),
  row=1, col=1,
  )

#保存图片
img_file = os.path.join(img_dir, 'img1.svg')
fig.write_image(img_file, scale=1)
fig.show()

Python预测2020高考分数和录取情况

选考物理、化学、生物的学生的成绩呈正态分布,大多数学生的成绩集中于中间,成绩两端学生的人数分布较少。而选考文科类(历史、地理、政治)学科的学生的成绩成偏态分布,一段线以下的人数占比较大,尤其历史和地理学科上这种趋势更加明显。

本科上线率

Python预测2020高考分数和录取情况

通过计算各科所有选择的人中有多少人的总分在一段线以上,发现,选考物理的学生的上线率最高,达到了67%,而选考历史的学生的上线率较低,只有37%。

选考科目情况

#所有考生的科目选择情况
sum_people = raw_data['所有考生累计人数'].iloc[-1]
subj_select = []
subj_name = ['物理','化学','生物','历史','地理','政治']
subj_select_percent = pd.DataFrame(index = subj_name,columns=['比例'])
for i in subj_name:
  singel_subj = raw_data['选考'+i+'累计人数'].iloc[-1]
  singel_percent = round(singel_subj/sum_people,4)*100
  subj_select.append(singel_percent)
  subj_select_percent.loc[i, '比例'] = singel_percent

在此次模拟考中,分数在150分以上的考生共有489567人,其中选考地理的人数最多,选考比率为63.6%,选考政治的人数最少,选考比率只有34.31%,而备受大家关注的选考物理的比率为41.59%。

Python预测2020高考分数和录取情况

需要注意的是,山东2020年高考的正式选科时间是5.25-29,而模拟考的时间在1月,因此上述数据只能作为学生选科的重要参考。

学霸们的选科组合

根据此次公布的一分一段表以及高考志愿辅导专家的分析,大体推测了全省前100名考生的选科情况。

Python预测2020高考分数和录取情况

果然,学霸们还是较忠于传统的理科组合(物化生),有89%的人选择了该组合,而传统的文科组合(史地政)没有人选择。或许因为,理科受题目的难度影响较大,当题目较简单时,考生更容易考出高分,而文科更多开放题,考取的高分的概率更小。这也间接导致了,考生倾向选择纯理科或者至少1门理科。

双一流高校录取情况分析

Python预测2020高考分数和录取情况

我们统计了近三年双一流高校在山东的理工类专业录取最低分,位次靠前的依次是北京大学,复旦大学,上海交通大学,浙江大学,中国科学技术大学。

Python预测2020高考分数和录取情况

我们统计了近三年双一流高校在山东的文史类专业录取最低分,位次靠前的依次是清华大学,北京大学,上海交通大学,复旦大学,中国人民大学。

双一流高校专业录取情况分析

#南丁格尔图
pie_Nightingale(sci_top10['专业'].values.tolist(),
        sci_top10['频数'].values.tolist(),
        '录取最低分排名\n前10的理工类专业', 
        '理科专业top10.html')

Python预测2020高考分数和录取情况

我们统计了双一流高校录取最低分所对应的专业频次,结果发现,理工类专业中工科实验班的出现频次最高,双一流高校中有25个学校的录取最低分所对应的专业是工科实验班。

Python预测2020高考分数和录取情况

我们同样统计了双一流高录取最低分所对应的文史类专业的频次,结果发现,文史类专业中日语出现的频次最高,双一流高校中有25个学校的录取最低分对应的专业是日语。

高考加油

2020年的寒冬,让所有人的步伐变得蹒跚

1月,教育部下发学生延期开学通知;

2月,关于停课的消息层出不穷;

3月中旬,全国陆续开始实行网络授课;

3月底,正式确认2020年高考将延期一个月举行;

……

在一则又一则“刷新历史”的新闻中,高考生无疑成为了一个备受关注的群体——除了需要面临的学习压力,还要时刻保持着安全距离进行学习和生活……对他们来说,无论疫情还是高考,都成为了一场重大的考验。[1]

Python预测2020高考分数和录取情况

祝愿2020高考学子都能考出自己的最佳成绩!

到此这篇关于Python预测2020高考分数和录取情况的文章就介绍到这了,更多相关Python预测2020高考内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
详解Python编程中time模块的使用
Nov 20 Python
Python3 伪装浏览器的方法示例
Nov 23 Python
python 动态加载的实现方法
Dec 22 Python
Python实现购物车程序
Apr 16 Python
python计算两个地址之间的距离方法
Jun 09 Python
Python基于jieba库进行简单分词及词云功能实现方法
Jun 16 Python
python爱心表白 每天都是浪漫七夕!
Aug 18 Python
Python tkinter的grid布局及Text动态显示方法
Oct 11 Python
python中使用 xlwt 操作excel的常见方法与问题
Jan 13 Python
用Python获取摄像头并实时控制人脸的实现示例
Jul 11 Python
selenium+python配置chrome浏览器的选项的实现
Mar 18 Python
Python gevent协程切换实现详解
Sep 14 Python
Python venv虚拟环境配置过程解析
Jul 08 #Python
Python如何实现自带HTTP文件传输服务
Jul 08 #Python
Python第三方包PrettyTable安装及用法解析
Jul 08 #Python
简单了解如何封装自己的Python包
Jul 08 #Python
python如何实现读取并显示图片(不需要图形界面)
Jul 08 #Python
基于python实现可视化生成二维码工具
Jul 08 #Python
如何使用Cython对python代码进行加密
Jul 08 #Python
You might like
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
php中去除所有js,html,css代码
2010/10/12 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
javascript 的Document属性和方法集合
2010/01/25 Javascript
javascript+iframe 实现无刷新载入整页的代码
2010/03/17 Javascript
基于jquery 的一个progressbar widge
2010/10/29 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
浅析Cookie中的Path与domain
2013/12/18 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
基于 Vue 的树形选择组件的示例代码
2017/08/18 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
微信小程序实现横向滚动导航栏效果
2019/12/12 Javascript
学习python (2)
2006/10/31 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
Keras使用tensorboard显示训练过程的实例
2020/02/15 Python
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
手工社团活动方案
2014/02/17 职场文书
学习十八大标语
2014/10/09 职场文书
教师考核评语大全
2014/12/31 职场文书
2019银行竞聘书
2019/06/21 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
javaScript Array api梳理
2021/03/31 Javascript
分析ZooKeeper分布式锁的实现
2021/06/30 Java/Android