高考结束,用 Python 来分析下哪里的高考是地狱级难度
一年一度的高考,可以说是广大学子必经的磨练,正所谓十年寒窗苦,一朝天下知。而高考,也成为了当前中国最为广泛,最为公平的晋升之路,可以说考上了一个名牌大学,那么未来的道路会好走很多。
但是又由于我国幅员辽阔,各地的教育资源又不尽相同,从而导致不同省份的升学难度也不尽相同。有的地方的高考属于优惠模式,而有的省份的高考竞争,又可以称得上是地狱模式。下面我们就通过一组数据来具体看一下。
考生人数
高考的升学难不难,一个较为直观的因素就是内部竞争压力大不大,那么每个省份的考生人数就很关键了。
考生人数前十名的省份
从上图可以看出,河南的考生人数远远超过其他省份,而且听说复读生占据了3成的比例,这个内卷太严重了。
山东、广东和四川的考生也超过了70万人,内部竞争压力也应该很大。
考生人数后十名的省份
在后十名当中,三个直辖市都上榜了,毕竟面积小,人口相对也少。还有就是大西北的新疆,宁夏,内蒙等,当然还有青藏双姝西藏和青海。
在这些省份当中,除了三个直辖市以外,其他省份的教育资源都不是特别好,那么可以想象的到,即使内部压力不大,但是在与其他省份,比如河南,山东等考试竞争的时候,还是会吃亏比较大的。
历年各省分数线
这里我们从下面的网站抓取了历年各省的分数线,先来横向对比下:
http://college.gaokao.com/areapoint/p1/
抓取与数据处理部分代码
df = pd.DataFrame()
for i in range(1, 206):
test = "http://college.gaokao.com/areapoint/p%s/" % str(i)
print(test)
d = pd.read_html(test)[0]
df = pd.concat([df, d], axis=0, ignore_index=True)
benke = df[df["批次名称"].isin([本科一批])|df["批次名称"].isin([本科批])|df["批次名称"].isin([本科])|df["批次名称"].isin([平行录取一段])|df["批次名称"].isin([普通类一段])]
benke_2020 = benke[benke["年份"]==2020].drop_duplicates()
benke_2020_like = benke_2020[(benke_2020["文理分科"]==理科)|(benke_2020["文理分科"]==综合改革)]
benke_2020_like_wenke = benke_2020[(benke_2020["文理分科"]==文科)|(benke_2020["文理分科"]==综合改革)]
benke_2020_like_sort = benke_2020_like.sort_values(by=[最低控制分数线], ascending=False)
benke_2020_like_sort_wenke = benke_2020_like_wenke.sort_values(by=[最低控制分数线], ascending=False)
下面先来看下2021年,各省份的分数线情况:
可以看到,一本理科分数线最高的为四川,高达521,这个数字好像不是特别高,因为我们似乎仍然记得2020年的最高分数线。
接下来是文科比较
录取分数线最高的竟然是云南,而且高达565,不得不说,文科还是更卷啊!
对比2020年,浙江则是最高的594,只能说浙江的同学们,太难了,也太厉害了!
当然了,河南的同学也不容易,双双第二名,苦着呢!
我们再通过图例来更加直观的看一下各省份的录取分数线。
2020理科一本分数前十
在2020年,前十名里,一本分数线都超过了500分,竞争压力还是很大的,而到了2021年,前十名里,不仅总体分数下降了,而且有五名都是500分以下,这是不是说明高中生们的压力没有那么大了呢~
2020文科一本分数前十
总体来说,文科想来要比理科的分数高,但是2021年还是比2020年要低了不少的。
当然了,上面这些还不能很全面的反映一个省份的高考难易程度,我们再来看一下各个省份的高校情况。
高质量高校
我这里提前获取了全国各省份的高校数据,下面先来看下各省高校数量情况。
df = pd.read_csv("college_data.csv")
df_new = df.drop_duplicates(subset=[name]) # 有重复的数据,需要删除
df_site = df_new[df_new[site] != ——]
df_site = df_site[df_site[site] != ------]
# 高校总数量分析
site_counts = df_site[site].value_counts()
dict_site = {name: site_counts.index, counts: site_counts.values}
data = pd.DataFrame(dict_site)
b = (Bar()
.add_xaxis(data[name].values.tolist()[:10])
.add_yaxis("", data[counts].values.tolist()[:10])
.set_global_opts(
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
title_opts=opts.TitleOpts(title="各城市高校数量", subtitle=""),
# datazoom_opts=opts.DataZoomOpts(),
)
.set_series_opts()
)
grid = Grid(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE))
grid.add(b, grid_opts=opts.GridOpts(pos_left="20%"))
grid.render_notebook()
上面进行了简单的数据处理,可以得到各省份的高校数量。
高校数量
可以看到高校数量最多的是江苏,而号称高校重灾区的河南也赫然在榜。
那么再来看下985