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

posted @ 2020-01-15 19:16  Python学习啊  阅读(...)  评论(...编辑  收藏