Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python爬取42年高考数据,告诉你高考为什么这么难?

Python爬取42年高考数据,告诉你高考为什么这么难?

作者头像
IT阅读排行榜
发布于 2019-06-12 13:08:33
发布于 2019-06-12 13:08:33
1.4K00
代码可运行
举报
文章被收录于专栏:华章科技华章科技
运行总次数:0
代码可运行

导读:对于像作者一样已经工作的“上班族”来说,6月7号到9号三天无疑是兴奋到飞起的,终于迎来了令人愉悦的端午假期。

然而有那么一群人,将在端午节日之际迎来人生特别重要的一次经历或者说是挑战,那就是高考生们。高考的重要性无须赘述,今天我们就来聊聊那些年我们一起经历的高考

作者:徐麟

来源:数据森麟(ID:shujusenlin)

然而有那么一群人,将在端午节日之际迎来人生特别重要的一次经历或者说是挑战,那就是高考生们。高考的重要性无须赘述,今天我们就来聊聊那些年我们一起经历的高考

01 历年录取率

可能很多经历过高考的人都不知道高考的全称,高考实际上是普通高等学校招生全国统一考试的简称。从1977年国家恢复高考制度至今,高考经历了许多的改革,其中最为显著的变化就是录取率的显著提升,曾经的“千军万马过独木桥”的场景得到了一定程度的缓解。

我们首先看下1977-2018年历年的录取人数和未录取(落榜)人数变化情况,本文数据均来自于网络公开高考数据

可以看到1977年恢复高考之后的几年,由于种种原因,高考人数到达了一个比较高的点,随后有所下降。到2000年之后,高考的人数有了进一步的提升,录取人数也随之大幅提升,2008、2009达到了顶峰(此时心疼自己1秒),2010年之后参与高考的人数趋于平稳。

通过上图也可以发现,早期的高考难度之高,未录取人数是录取人数的数倍之多,而且早期的高考实际上在开始之前有预选的过程,能够参加高考的考生实际上已经经过了一轮大浪淘沙的过程。随着教育改革,越来越多的考生有机会通过高考接受更进一步的教育。

我们通过下面的百分比图,对于录取率的变化进一步加深认知:

看到这不禁对老爸发出由衷的赞叹,作者参与高考时的录取率已经是老爸参加时的数倍之多,相较于老爸那个时候的“千军万马过独木桥”,作者过的独木桥已经要宽敞了好多。

部分代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
setwd('D:/爬虫/高考')
data = read_excel('历年录取率.xlsx')
data_year = melt(data,id.vars = '年份',measure.vars = c('录取','未录取'),
variable.name='录取情况', value.name='人数(万)')
ggplot(data_year,aes(x=年份,y=`人数(万)`,fill=录取情况))+
      geom_area(position = 'stack')+
      ggtitle('历年高考人数统计(1977-2018)')+ theme_wsj()+ 
      theme(axis.text.x = element_text(size=15),
            axis.text.y = element_text(size=15),
            axis.title =element_text(size=15),
            plot.title = element_text(hjust=0.5,size=25,face='bold'),
            panel.grid = element_blank(),
            legend.position = 'top',
            legend.title = element_blank(),
            legend.text = element_text(size=15),
            panel.background = element_blank(),
            axis.line = element_blank(),
            axis.ticks = element_blank()
            )+xlim(1977,2018)

说到这,似乎大家会认为现在的高考并不困难,录取率已经到达了8成左右,通过高考已经成了家常便饭,如果你真的这样认为,那只能将下面的表情包送你:

我们下面就进一步去分析高考数据,为大家列举横亘在高考生面前的三座大山:

02 三座“大山”

1. 名校录取率

前面我们提到的录取率有了显著的提升,然而录取率实际上是包括了所有的录取情况,同时包含了本科以及专科的录取情况。真正的“211”,“985”名校的竞争实际上还是异常激烈的,特别是在一些处于“地狱模式”的高考省份(由于没有在网上找到海南省的相关数据,我们选取了其他三十个省份、直辖市的数据):

下面就为大家对比各个省份2018年的985、211录取率:

可以看到,不同省份的985和211录取率有着比较明显的差距,12个省份的985录取率低于1.5%,安徽,河南,江苏和贵州更是低于1.2%,作为山东考生的作者也不由得表示“自愧不如”。

即使是录取率最高的省份,985和211的录取率也只是5.8%和13.9%,结合现在各大企业在招人要求中对985和211的要求,高考真的并没有真的变得简单。

2. 高考人数

除了名校录取率低之外,高考人数之多也是横亘在考生面前需要跨过的一个挑战。由于参与高考人数非常多,对于考试精细度就有了非常高的要求,可能一个细节的失误就会在全省的排名中下降非常多。

同样,我们看下各省2018年参与高考的人数:

河南省2018年的高考人数达到了86.5万,超过了不丹(80.7万)整个国家的人口数量,86.5万这个数据也超过了世界上接近2/3的国家人口数量。广东、山东、四川三个省的高考人数也超过了50万。由于参与高考的人数众多,这些省的高考几乎都是“肉搏战”。

3. 高考题目难度

除了名校录取率低,竞争人数多,另一个让广大考生为之“折服”的就是那些难度大到放飞自我的题目。其中一个省份的题目难度几乎是所有考生公认的最高,那就是江苏省,包括小编所在山东省在内的很多其他省的老师,都会告诉学生不需要关注江苏的历年题目,因为本省的考试题目不会那么难。

除了题目难度大,江苏高考改革的力度和速度也是冠绝全国,我们整理了一份江苏省2000年以来的历年高考改革的路线图:

看到这些模式的名称,可能大家已经有些眩晕,也深切体会到能从江苏高考中杀出重围的都是勇士。既然已经眩晕,不如就眩晕到底,下面是一道江苏省高考的真题,自行体验难度:

数学、物理这种大杀器都无需出场,只需一道作文题在作者这种“语文天残”看来就已经slay全场。

前面我们说了那么多高考的困难之处,是不是考生们真的就手足无措了呢,实际上并不是,只需要手握一些高考专属“杀器”就可以迎刃而解(以上纯属虚构)

03 高考“杀器”

1. 五年高考三年模拟

▲插个丧心病狂的广告

此杀器的使用方法无需赘述,只需把其全部吃透,虽然这也不表示高考就一定会有好成绩。希望各位考生努力复习,切勿如同书名一样“五年高考,三年模拟”。

2. 葛老师

葛老师乃高考中的超级大杀器,其威力可以参考下图,正所谓人不在江湖,但江湖上始终流传着他的传说:

由于葛老师过于强大,切勿幻想能将葛老师像“五年高考、三年模拟“那样吃透之后融会贯通,最好的方法就是“走为上计”,B站上的广大考生已经开始通过弹幕进行了实践:

04 写在最后

虽然我们前面列举了高考那么多的不易,但高考实际上为广大考生提供了改变自己人未来人生命运的机会。相较于其他很多缥缈不定的发展道路,高考给了大家一个明确的努力方向。

最后祝愿广大考生都能够放平心态(虽然并不现实),在高考中发挥自己所学,不留遗憾。取得不错的结果也不要因此沾沾自喜,没有达到自己的预期的也不要因此消沉,高考是我们人生中非常重要的一段历程,但不能完全决定我们未来的人生,未来还有很多需要去奋斗、去努力的地方。

PPT | 报告 | 读书 | 书单 | 干货

大数据 | 揭秘 | Python | 可视化

AI | 人工智能 | 5G | 区块链

机器学习 | 深度学习 | 神经网络

1024 | 段子 | 数学 | 高考

猜你想看

Q: 你是哪个省的考生?高考难吗?

欢迎留言与大家分享

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据DT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数据科学 IPython 笔记本 7.7 处理缺失数据
许多教程中的数据与现实世界中的数据之间的差异在于,真实世界的数据很少是干净和同构的。特别是,许多有趣的数据集缺少一些数据。为了使事情变得更复杂,不同的数据源可能以不同的方式标记缺失数据。
ApacheCN_飞龙
2022/06/03
4.4K0
Python数据科学手册(六)【Pandas 处理丢失的数据】
在很多情况下,有些数据并不是完整的,丢失了部分值,这一节将学习如何处理这些丢失的数据。
用户2936342
2018/08/27
2.4K0
Python数据科学手册(六)【Pandas 处理丢失的数据】
pandas中的缺失值处理
在真实的数据中,往往会存在缺失的数据。pandas在设计之初,就考虑了这种缺失值的情况,默认情况下,大部分的计算函数都会自动忽略数据集中的缺失值,同时对于缺失值也提供了一些简单的填充和删除函数,常见的几种缺失值操作技巧如下
生信修炼手册
2020/07/14
3K0
手把手教你用pandas处理缺失值
导读:在进行数据分析和建模的过程中,大量的时间花在数据准备上:加载、清理、转换和重新排列。本文将讨论用于缺失值处理的工具。
IT阅读排行榜
2021/02/22
2.9K0
手把手教你用pandas处理缺失值
Python数据处理从零开始----第三章(pandas)②处理缺失数据
在实际应用中对于数据进行分析的时候,经常能看见缺失值,下面来介绍一下如何利用pandas来处理缺失值。常见的缺失值处理方式有,过滤、填充。
用户1359560
2018/12/14
1.2K0
pandas系列3_缺失值处理和apply用法
缺失值:df中缺失值为nan或者naT(缺失时间),在S型数据中为none或者nan
皮大大
2021/03/02
1.4K0
pandas 缺失数据处理大全(附代码)
之前一直在分享pandas的一些骚操作:pandas骚操作,根据大家反映还不错,但是很多技巧都混在了一起,没有细致的分类,这样不利于查找,也不成体系。
Python数据科学
2022/03/11
2.5K0
pandas 缺失数据处理大全(附代码)
Pandas数据清洗:缺失值处理
在数据分析的过程中,数据清洗是一个至关重要的步骤。而其中,缺失值的处理又是数据清洗中最常见的问题之一。本文将从基础概念出发,逐步深入探讨Pandas库中处理缺失值的方法,包括常见的问题、报错及其解决方案。
Jimaks
2024/12/19
3610
Pandas高级教程之:处理缺失数据
在数据处理中,Pandas会将无法解析的数据或者缺失的数据使用NaN来表示。虽然所有的数据都有了相应的表示,但是NaN很明显是无法进行数学运算的。
子润先生
2021/06/19
7520
pandas(一)
data= pd.Series([0.25,0.5,0.75,1.0])   默认索引是数字
py3study
2020/01/16
1K0
pandas 处理缺失值[dropna、drop、fillna][通俗易懂]
对于dropna和fillna,dataframe和series都有,在这主要讲datafame的
全栈程序员站长
2022/11/04
2K0
Pandas 2.2 中文官方教程和指南(十六)
numpy.nan适用于 NumPy 数据类型。使用 NumPy 数据类型的缺点是原始数据类型将被强制转换为np.float64或object。
ApacheCN_飞龙
2024/04/25
4670
Pandas 2.2 中文官方教程和指南(十六)
【数据处理包Pandas】数据载入与预处理
对于数据分析而言,数据大部分来源于外部数据,如常用的 CSV 文件、 Excel 文件和数据库文件等。 Pandas 库将外部数据转换为 DataFrame 数据格式,处理完成后再存储到相应的外部文件中。
Francek Chen
2025/01/22
4560
【数据处理包Pandas】数据载入与预处理
Pandas缺失值处理 | 轻松玩转Pandas(3)
# 导入相关库 import numpy as np import pandas as pd 什么是缺失值 在了解缺失值(也叫控制)如何处理之前,首先要知道的就是什么是缺失值?直观上理解,缺失值表示的是“缺失的数据”。 可以思考一个问题:是什么原因造成的缺失值呢?其实有很多原因,实际生活中可能由于有的数据不全所以导致数据缺失,也有可能由于误操作导致数据缺失,又或者人为地造成数据缺失。 来看下我们的示例吧 index = pd.Index(data=["Tom", "Bob", "Mary", "Ja
禹都一只猫olei
2018/09/19
1.6K0
Pandas-DataFrame基础知识点总结
1、DataFrame的创建 DataFrame是一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引。 DataFrame的创建有多种方式,不过最重要的还是根据dict进行创建,以及读取csv或者txt文件来创建。这里主要介绍这两种方式。 根据字典创建 data = { 'state':['Ohio','Ohio','Ohio','Nevada','Nevada'], '
石晓文
2018/04/11
4.4K0
Pandas-DataFrame基础知识点总结
小白也能看懂的Pandas实操演示教程(下)
今天主要带大家来实操学习下Pandas,因为篇幅原因,分为了两部分,本篇为下。上篇内容见:小白也能看懂的Pandas实操演示教程(上)。
1480
2019/09/25
2.5K0
小白也能看懂的Pandas实操演示教程(下)
数据分析之Pandas缺失数据处理
3. 缺失数据的运算与分组 3.1. 加号与乘号规则 3.2. groupby方法中的缺失值 4. 填充与剔除 4.1. fillna方法 4.2. dropna方法 5. 插值
Datawhale
2020/07/06
1.7K0
数据分析之Pandas缺失数据处理
【缺失值处理】拉格朗日插值法—随机森林算法填充—sklearn填充(均值/众数/中位数)
缺失值的处理准备数据1 sklearn填充(1)使用均值进行填补(连续型特征)(2)使用中位数、0进行填补(连续型特征)(3)使用众数进行填补(离散型特征)(4)KNN填补
用户7886150
2020/12/30
3.1K0
Pandas基础操作学习笔记
pandas是python的一个数据分析包,最初由AQR Capital Management于2008年4月开发,并于2009年底开源出来,目前由专注于Python数据包开发的PyData开发team继续开发和维护,属于PyData项目的部分。Pandas最初被作为金融数据分析工具而开发出来,因此,pandas为时间序列分析提供了很好的支持。
python与大数据分析
2022/03/11
1K0
Pandas笔记-进阶篇
panda对象拥有一组常用的数学和统计方法,他们大部分都属于简约统计,NA值会自动被排除,除非通过skipna=False禁用
Ewdager
2020/07/14
7140
相关推荐
数据科学 IPython 笔记本 7.7 处理缺失数据
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验