🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN人工智能领域的优质创作者,提供AI相关的技术咨询、项目开发和个性化解决方案等服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:xf982831907

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述


一、📊 引言:一个时代的终结,另一个时代的开始

2025年11月24日,教育部公布的数据震动了整个教育就业市场:全国考研报名人数为343万人,较上年下降45万人。而更引人注目的是,这一数字已被同年国考人数(约372万人)反超。

这不仅仅是一组数据的简单对比,更是中国高等教育与就业选择观念发生根本性转变的标志性事件。本文将通过Pyecharts库,对这一历史性转折进行深度可视化分析。

二、数据准备:理解转折的背景

"""
考研人数被考公反超:历史性转折可视化分析
数据来源:教育部、国家公务员局
单位:万人
重点突出:2026年国考首次反超考研
"""

from pyecharts import options as opts
from pyecharts.charts import Line, Grid
from pyecharts.globals import ThemeType
from pyecharts.commons.utils import JsCode
import pandas as pd
import numpy as np

# ==================== 数据准备 ====================
# 2010-2026年考研与国考人数数据
years = [f"{y}年" for y in range(2010, 2027)]
exam_data = {
    '考研人数': [141, 151, 166, 176, 172, 165, 201, 238, 290, 341, 377, 474, 457, 438, 388, 372, 343],
    '国考人数': [136, 140, 129, 128, 134, 156, 134, 129, 137, 143, 137, 123, 141, 203, 260, 303, 372]
}

# 创建DataFrame
df = pd.DataFrame(exam_data, index=years)

# 计算关键指标
df['总人数'] = df['考研人数'] + df['国考人数']
df['考研占比'] = (df['考研人数'] / df['总人数'] * 100).round(1)
df['国考占比'] = (df['国考人数'] / df['总人数'] * 100).round(1)
df['差值'] = df['考研人数'] - df['国考人数']

# 计算增长率
df['考研增长率'] = (df['考研人数'].pct_change() * 100).fillna(0).round(1)
df['国考增长率'] = (df['国考人数'].pct_change() * 100).fillna(0).round(1)

# 关键数据统计
print("=" * 80)
print("🚨 考研人数被国考反超:关键数据统计(2010-2026)")
print("=" * 80)
print(f"📚 考研总报名人数: {df['考研人数'].sum():.0f} 万人次")
print(f"🏛️ 国考总报名人数: {df['国考人数'].sum():.0f} 万人次")
print(f"📊 考研峰值: {df['考研人数'].max()} 万人 ({df['考研人数'].idxmax()})")
print(f"📊 国考峰值: {df['国考人数'].max()} 万人 ({df['国考人数'].idxmax()})")
print("-" * 80)
print("🎯 2026年关键数据对比:")
print(f"   📉 考研人数: {df['考研人数'].iloc[-1]} 万人")
print(f"       较上年下降: {df['考研人数'].iloc[-2] - df['考研人数'].iloc[-1]} 万人 (-{abs(df['考研增长率'].iloc[-1])}%)")
print(f"   📈 国考人数: {df['国考人数'].iloc[-1]} 万人")
print(f"       📊 差值: 国考比考研多 {abs(df['差值'].iloc[-1])} 万人")
print("=" * 80)

三、核心可视化:历史性转折折线图

3.1 创建主要趋势图

# 计算差值(考研人数 - 国考人数)
diff_values = [exam_data['考研人数'][i] - exam_data['国考人数'][i] for i in range(len(exam_data['考研人数']))]

def create_advanced_line_chart():
    """创建高级折线图"""
    
    line = (
        Line()
        .add_xaxis(
            xaxis_data=years,
        )
        .add_yaxis(
            series_name="考研人数",
            y_axis=exam_data["考研人数"],
            is_smooth=True,
            symbol="circle",
            symbol_size=12
            )
        )
        .add_yaxis(
            series_name="国考人数",
            y_axis=exam_data["国考人数"],
            is_smooth=True,
            symbol="diamond",
            symbol_size=14
            )
        )
        .add_yaxis(
            series_name="人数差值",
            y_axis=diff_values,
            yaxis_index=1,
            is_smooth=True,
            symbol="triangle",
            symbol_size=10
        )
        .set_global_opts(
            title_opts=opts.TitleOpts(
                title="📊 2010-2026年考研与国考人数趋势对比",
                subtitle="科技蓝:考研人数 | 激情红:国考人数 | 2026年国考首次反超成为历史转折点",
                title_textstyle_opts=opts.TextStyleOpts(
                    font_size=28,
                    font_weight="bold",
                    color="#ffffff",
                    font_family="Microsoft YaHei"
                )
            ),
            legend_opts=opts.LegendOpts(
                pos_top="60px",
                pos_left="center",
                orient="horizontal"
            ),
            xaxis_opts=opts.AxisOpts(
                name="年份",
                type_="category",
                name_textstyle_opts=opts.TextStyleOpts(
                    color="#94a3b8",
                    font_size=14,
                    font_family="Microsoft YaHei"
                )
            ),
            yaxis_opts=opts.AxisOpts(
                name="报名人数 (万人)",
                type_="value",
                name_textstyle_opts=opts.TextStyleOpts(
                    color="#94a3b8",
                    font_size=14,
                    font_family="Microsoft YaHei"
                )
            )
        )
    )
    
    # 扩展第二Y轴用于显示差值
    line.extend_axis(
        yaxis=opts.AxisOpts(
            name="人数差值 (万)",
            type_="value",
            position="right"
            ),
            splitline_opts=opts.SplitLineOpts(is_show=False)
        )
    )
    
    # 添加辅助线 - 2026年反超线
    line.set_series_opts(
        markline_opts=opts.MarkLineOpts(
            data=[
                opts.MarkLineItem(
                    x="2026年",
                    name="历史转折点",
                    symbol="none"
                )
            ]
        )
    )
    
    return line

# 生成图表
chart = create_advanced_line_chart()

# 渲染图表(在Jupyter Notebook中直接显示,或在其他环境中保存为HTML)
chart.render("考研与国考人数趋势对比.html")

3.2 生成的图表展示

生成的折线图的图表如下:

交互的视频如下:

四、数据分析与解读

4.1 🔍 核心发现

  1. 历史性转折:2026年国考人数(372万)首次超过考研人数(343万),打破了长期以来考研人数占优的格局。

  2. 趋势逆转:考研人数在2023年达到峰值474万后开始显著下降,而国考人数自2020年起持续快速增长。

  3. 观念转变:数据显示中国年轻人就业观念正从"深造优先"向"稳定就业优先"转变。

4.2 📈 数据洞察

  • 考研峰值:2023年达到474万,随后开始下降
  • 国考增长:从2020年的203万增长到2026年的372万,增长83.3%
  • 转折点:2024-2026年是关键转折期,差值从考研占优变为国考占优

4.3 🎯 社会意义

这一数据变化反映了中国教育就业市场的深刻变革:

  1. 就业压力增大:面对就业市场竞争,更多人选择直接就业而非继续深造
  2. 稳定就业需求:年轻人对工作稳定性、福利保障的重视程度提升
  3. 教育投资回报:考研成本的增加和就业形势的变化影响决策

4.4 🛠️ 技术特色

本可视化采用Pyecharts库,具有以下特点:

  1. 专业配色:采用科技蓝(#1e90ff)和激情红(#ff4757)的对比配色
  2. 交互性强:支持鼠标悬停、缩放、保存等多种交互功能
  3. 响应式设计:图表自适应不同屏幕尺寸
  4. 数据完整:包含2010-2026年完整时间序列数据

五、结论

2026年的数据转折不仅仅是一个统计数字的变化,更是中国社会就业观念和教育路径选择的重大转变标志。 随着经济环境和就业市场的变化,越来越多的年轻人开始重新评估深造与就业的平衡点,这一趋势值得我们持续关注和研究。

可视化图表清晰展现了这一历史性转折的过程,为教育政策制定、就业市场分析和个人职业规划提供了重要的数据参考。


  注: 博主目前收集了6900+份相关数据集,有想要的可以领取部分数据,关注下方公众号或添加微信:

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐