用 Python 分析今年考研形势
还有5天,就到了考研初试的时间了。
!
尽管今年研招网内部,已经做了优化改善,还是抵挡不住考生们的报名热情(网站崩溃)。
2017年考研人数增长至201万人,
2018年则达到238万人,
2019年考研报名人数达到290万人。
注:数据来自“中国教育在线”
为了看清近几年考研人数的增长趋势,我用python绘制如下的折线图。
从图中可以看出,2015年以来,考研报名人数的涨幅很大。预计今年考研人数在320-350万人。
如上图所示,2017年的报录比为2.78,2018年为3.12。随着报名人数的增多,录取人数不也在涨嘛!
实现代码
主要用到了pandas读取数据,matplotlib绘制折线图。其中遇到了一些中文编码的小坑,代码如下。
import pandas as pd
import matplotlib.pyplot as plt
# 第一,读取数据
df = pd.read_csv("kaoyan.csv", encoding='gb2312')
# print(df)
# 第二,绘制折线图
plt.rcParams['font.sans-serif'] = ['SimHei']
# 可以解释中文无法显示的问题
# 1)创建画布
plt.figure(figsize=(10,5),dpi=80)
# 2)绘制图像
plt.style.use('ggplot')
# matplotlib官方提供了五种不同的图形风格,
# 分别是:bmh、ggplot、dark_background、fivethirtyeight和grayscale
plt.plot(df["年份"], df["报名人数"] / 10000, label="报名人数")
plt.plot(df["年份"][:-1], df["录取人数"][:-1] / 10000, label="录取人数")
plt.title("近年考研人数报名及录取情况")
plt.xlabel("年份")
plt.ylabel("考生数量(单位:万人)")
# 设置数字标签
for a, b in zip(df["年份"], df["报名人数"] / 10000):
plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
for a, b in zip(df["年份"][:-1], df["录取人数"][:-1] / 10000):
plt.text(a, b, b, ha='center', va='bottom', fontsize=10)
plt.legend()
plt.grid(True)
# 保存图像
plt.savefig("zhexian.jpg")
# 3)展示图像
plt.show()
结语
考研是一条路,也许艰辛,也许平坦。但走过这条路肯定就是艳阳天。
还有5天,祝努力拼搏了一年的朋友们,都能考上自己心仪的学校!
用 Python 分析今年考研形势的更多相关文章
- 用Python分析国庆旅游景点,告诉你哪些地方好玩、便宜、人又少
注:本人参考“裸睡的猪”公众号同名文章,学习使用. 一.目标 使用Python分析出国庆哪些旅游景点:好玩.便宜.人还少的地方,不然拍照都要抢着拍! 二.获取数据 爬取出行网站的旅游景点售票数据,反映 ...
- python 分析慢查询日志生成报告
python分析Mysql慢查询.通过Python调用开源分析工具pt-query-digest生成json结果,Python脚本解析json生成html报告. #!/usr/bin/env pyth ...
- Python分析盘点2019全球流行音乐:是哪些歌曲榜单占领了我们?
写在前面:圣诞刚过,弥留者节日气息的大家是否还在继续学习呐~在匆忙之际也不忘给自己找几首好听的歌曲放松一下,缠绕着音乐一起来看看关于2019年流行音乐趋势是如何用Python分析的吧! 昨天下午没事儿 ...
- Python分析数据难吗?某科技大学教授说,很难但有方法就简单
用python分析数据难吗?某科技大学的教授这样说,很难,但要讲方法,主要是因为并不是掌握了基础,就能用python来做数据分析的. 所谓python的基础,也就是刚入门的python学习者,学习的基 ...
- 五月天的线上演唱会你看了吗?用Python分析网友对这场线上演唱会的看法
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:CDA数据分析师 豆瓣9.4分!这场线上演唱会到底多好看? 首先让我 ...
- Python分析离散心率信号(下)
Python分析离散心率信号(下) 如何使用动态阈值,信号过滤和离群值检测来改善峰值检测. 一些理论和背景 到目前为止,一直在研究如何分析心率信号并从中提取最广泛使用的时域和频域度量.但是,使用的信号 ...
- Python分析离散心率信号(中)
Python分析离散心率信号(中) 一些理论和背景 心率信号不仅包含有关心脏的信息,还包含有关呼吸,短期血压调节,体温调节和荷尔蒙血压调节(长期)的信息.也(尽管不总是始终如一)与精神努力相关联,这并 ...
- Python分析离散心率信号(上)
Python分析离散心率信号(上) 一些理论和背景 心率包含许多有关信息.如果拥有心率传感器和一些数据,那么当然可以购买分析包或尝试一些可用的开源产品,但是并非所有产品都可以满足需求.也是这种情况.那 ...
- Python分析NGINX LOG版本二
不好意思,上一版逻辑有错误,(只分析了一次就没了) 此版改正. 按同事要改,作成传参数形式,搞定. #!/usr/bin/env python # coding: utf-8 ############ ...
随机推荐
- JS绘图
https://www.highcharts.com.cn/demo/highcharts/ 百度的Echarts https://www.echartsjs.com/zh/index.html
- Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name
目前有发现的两种情况 第一种:是在继承jpa的时候检查实体类@id和@Entity引进的包是否是 import javax.persistence.Id imprt javax.persistence ...
- 01Java语言基础
[实验任务四]: 1.程序设计思想 根据RandomStr.java,随机生成6位字母,在对话框中输出,用户根据随机生成的验证码对应输入,程序根据用户输入的内容与系统随机生成的验证码字符比较,若相等, ...
- php--->cookie和session
cookie和session cookie和session理解 HTTP协议本身是无状态的,这与HTTP协议本来的目的是相符的,客户端只需要简单的向服务器请求下载某些文件,无论是客户端还是服务器都没有 ...
- Web自动化测试项目(二)BasePage实现
一.BasePage介绍 创建一个BasePage类,对Selenium Api进行二次封装 为了快速创建项目并投产,用到的Selenium Api才进行封装,没用到的则不封装 优先封装最重要的几个方 ...
- STM8 ADC1连续模式切换通道干扰问题的解决
初始化ADC1: void Init_ADC(void){ GPIO_Init(GPIOD, (GPIO_Pin_TypeDef)(GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_5|G ...
- .net core 认证与授权(三)
前言 在写三上是在一的基础上写的,所以有没有看过二是没得关系的,在一中介绍了认证与授权,但是没有去介绍拿到证书后怎样去验证授权. 概念性东西:在这套机制中,把这个权限认证呢,称作为policy.这个p ...
- es学习(三):分词器介绍以及中文分词器ik的安装与使用
什么是分词 把文本转换为一个个的单词,分词称之为analysis.es默认只对英文语句做分词,中文不支持,每个中文字都会被拆分为独立的个体. 示例 POST http://192.168.247.8: ...
- 死磕dtd(1)
看到安卓开发里大量的xml文件和layout里的Android UI开始复习一下xml xml的校验规则依据dtd dtd里面大小写敏感.....查找了好久才发现这个问题 <?xml versi ...
- ncbi-blast 本地安装
详见:http://blog.shenwei.me/local-blast-installation/ Linux系统中NCBI BLAST+本地化教程 本文面向初学者(最好还是懂得基本的linux使 ...