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实现向ppt文件里插入新幻灯片页面的方法
Apr 28 Python
Python通过DOM和SAX方式解析XML的应用实例分享
Nov 16 Python
Python实现统计文本文件字数的方法
May 05 Python
Python多线程同步---文件读写控制方法
Feb 12 Python
Python安装selenium包详细过程
Jul 23 Python
python实现把二维列表变为一维列表的方法分析
Oct 08 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
Jan 18 Python
python中线程和进程有何区别
Jun 17 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 Python
Python中tqdm的使用和例子
Sep 23 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
php printf输出格式使用说明
2010/12/05 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
解决PHP程序运行时:Fatal error: Maximum execution time of 30 seconds exceeded in的错误提示
2016/11/25 PHP
PHPMailer发送邮件
2016/12/28 PHP
PHP实现添加购物车功能
2017/03/06 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
jQuery $.extend()用法总结
2014/06/15 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
javascript发送短信验证码实现代码
2015/11/12 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
利用AngularJs实现京东首页轮播图效果
2016/09/08 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
关于Angular2 + node接口调试的解决方案
2017/05/28 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
jQuery为某个div加入行样式
2017/06/09 jQuery
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
Python中动态创建类实例的方法
2017/03/24 Python
详谈python read readline readlines的区别
2017/09/22 Python
python使用PIL给图片添加文字生成海报示例
2018/08/17 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
python定时任务 sched模块用法实例
2019/11/04 Python
什么是典型的软件三层结构?软件设计为什么要分层?软件分层有什么好处?
2012/03/14 面试题
市场开发与营销专业求职信
2013/12/31 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
优秀团干部个人事迹
2014/05/29 职场文书
法学专业求职信
2014/07/15 职场文书
2014年医院党建工作总结
2014/12/20 职场文书
教师学习十八届五中全会精神心得体会
2016/01/05 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL