用 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天,祝努力拼搏了一年的朋友们,都能考上自己心仪的学校!