choucsan/Gaokao-Compass-11M
English GaokaoCompass — China College Admission Dataset GaokaoCompass is a structured dataset of China's national college entrance examination (Gaokao) admission records, covering all 31 provinces from 2017 to 2025. It includes enrollment plans, university admission cutoff scores, major-level admission scores, and score-ranking tables. The dataset is designed to help students, parents, and researchers make informed decisions with… See the full description on the dataset page: https://huggingface.co/datasets/choucsan/Gaokao-Compass-11M.
<p align="center"> <a href="#english"><img src="https://img.shields.io/badge/Language-English-blue?style=flat-square" alt="English"></a> <a href="#中文"><img src="https://img.shields.io/badge/Language-中文-red?style=flat-square" alt="中文"></a> </p>
<p align="center"> <img src="images/gaokao.jpeg" alt="China College Admission Dataset" width="900"/> <a href="https://github.com/choucisan/GaokaoCompass"><img src="https://img.shields.io/badge/GitHub-GaokaoCompass-181717?style=for-the-badge&logo=github" alt="GitHub"></a> <a href="https://huggingface.co/datasets/choucsan/Gaokao-Compass-11M"><img src="https://img.shields.io/badge/%F0%9F%A4%97HuggingFace-Dataset-yellow?style=for-the-badge" alt="Hugging Face"></a> <a href="https://choucisan.github.io/workshops/gaokaocompass"><img src="https://img.shields.io/badge/Blog-Post-blue?style=for-the-badge" alt="Blog"></a> <a href="https://www.xiaohongshu.com/explore/6a3f77dd0000000022018b59?xsectoken=ABtccjD-aoTlayVHzhEYjypPtizH3qgzpusbk3JvtepY=&xsecsource=pcuser"><img src="https://img.shields.io/badge/RedNote-Post-red?style=for-the-badge" alt="RedNote"></a> <a href="https://choosealicense.com/licenses/mit"><img src="https://img.shields.io/badge/License-MIT-green?style=for-the-badge" alt="License"></a> </p>
English
GaokaoCompass — China College Admission Dataset
GaokaoCompass is a structured dataset of China's national college entrance examination (Gaokao) admission records, covering all 31 provinces from 2017 to 2025. It includes enrollment plans, university admission cutoff scores, major-level admission scores, and score-ranking tables. The dataset is designed to help students, parents, and researchers make informed decisions with transparent, queryable admission data.
Overview
Per-table statistics
Directory Structure
data/
├── 2017/
│ ├── anhui/
│ │ ├── enrollment-plan.csv # Enrollment plan
│ │ ├── school-admission.csv # University admission cutoff
│ │ ├── major-admission.csv # Major-level admission scores
│ │ ├── score-range.csv # Score-ranking table
│ │ └── meta.json # Summary statistics (6 dashboard cards)
│ ├── beijing/
│ │ └── ...
│ └── ... (31 provinces)
├── 2018/
│ └── ...
└── 2025/
└── ...Table Schemas
1. score-range.csv — Score-Ranking Table
Shows how many candidates scored at each point level, enabling rank lookup.
2. enrollment-plan.csv — Enrollment Plan
Each row is one university-major enrollment slot in a province.
3. school-admission.csv — University Admission Cutoff
Each row is one university's minimum admission score in a province.
4. major-admission.csv — Major-Level Admission Scores
Each row is one university-major's admission detail in a province.
meta.json — Summary Statistics
Each province/year directory contains a meta.json with pre-computed statistics for 6 dashboard cards.
Example (Zhejiang 2024):
{
"exam_overview": {
"categories": [
{
"name": "综合",
"total_candidates": 281057,
"max_score": 699,
"batch_lines": [
{"batch": "平行录取一段", "score": 492},
{"batch": "平行录取二段", "score": 269}
]
}
],
"total_candidates": 281057
},
"university_stats": {
"total": 1608,
"is_985": 37,
"is_211": 108,
"public": 900,
"private": 400
}
}Quick Start
Load from Hugging Face
from datasets import load_dataset
dataset = load_dataset("choucsan/Gaokao-Compass-11M")Read a CSV directly
import pandas as pd
# Load 2024 Zhejiang enrollment plan
df = pd.read_csv("data/2024/zhejiang/enrollment-plan.csv")
# Search for Computer Science majors
cs = df[df["major_name"].str.contains("计算机科学与技术", na=False)]
print(cs[["university_name", "major_name", "plan_count", "tuition"]])Look up a score ranking
import pandas as pd
# Load 2024 Henan score-ranking table
df = pd.read_csv("data/2024/henan/score-range.csv")
# Find rank for a score of 600
row = df[df["score"] == 600]
print(f"Rank at 600: {row['cumulative_count'].values[0]}")Use meta.json
import json
with open("data/2024/zhejiang/meta.json", encoding="utf-8") as f:
meta = json.load(f)
print(f"Total candidates: {meta['exam_overview']['total_candidates']}")
print(f"Universities: {meta['university_stats']['total']}")
print(f"Project 985 universities: {meta['university_stats']['is_985']}")Data Pipeline
Raw data is sourced from provincial education examination authorities and the National Education Examination Authority (阳光高考). The ETL pipeline:
- Discovery — Scan raw Excel files per province, classify by type (enrollment plan / school admission / major admission / score range)
- Column normalization — Map 30+ Chinese column name variants to unified English fields
- Cleaning — Normalize subject tracks, safe numeric casting, strip decimals from code fields
- Deduplication — MD5-based file dedup; row-level dedup by (university, batch, category, major_code)
- Year extraction — Parse year from filenames and directory paths
- Validation — Null-rate checks, error summary, completeness report
2025 Coverage
Use Cases
- College application — Query eligible universities and majors by score and rank
- Admission trend analysis — Visualize cutoff score and enrollment changes over years
- University comparison — Compare admission difficulty across 985/211/public/private institutions
- Major popularity — Rank majors by enrollment quota and number of offering universities
- Education research — Academic studies and policy analysis on Gaokao data
中文
高考录取数据平台 · GaokaoCompass
GaokaoCompass 是一个面向中国高考(普通高等学校招生全国统一考试)的结构化录取数据集,覆盖 31 个省份、2017–2025 年的招生计划、院校投档线、专业录取分数和一分一段表数据。旨在为考生、家长和教育研究者提供透明、可查询的高考录取信息参考。
数据概览
各表统计
数据结构
data/
├── 2017/
│ ├── anhui/
│ │ ├── enrollment-plan.csv # 招生计划
│ │ ├── school-admission.csv # 院校投档线
│ │ ├── major-admission.csv # 专业录取分数
│ │ ├── score-range.csv # 一分一段表
│ │ └── meta.json # 统计摘要(6类卡片)
│ ├── beijing/
│ │ └── ...
│ └── ...(31省)
├── 2018/
│ └── ...
└── 2025/
└── ...四类数据表说明
1. score-range.csv · 一分一段表
考生分数排名数据,反映每个分数段的考生人数分布。
2. enrollment-plan.csv · 招生计划
各高校在各省的招生专业和计划人数。
3. school-admission.csv · 院校投档线
各高校在各省的最低录取分数和位次。
4. major-admission.csv · 专业录取分数
各高校各专业在各省的录取分数详情。
meta.json · 统计摘要
每个省份/年份目录下包含一个 meta.json 文件,提供 6 类卡片的统计信息,适合直接用于前端可视化展示。
示例(2024 浙江):
{
"exam_overview": {
"categories": [
{
"name": "综合",
"total_candidates": 281057,
"max_score": 699,
"batch_lines": [
{"batch": "平行录取一段", "score": 492},
{"batch": "平行录取二段", "score": 269}
]
}
],
"total_candidates": 281057
},
"university_stats": {
"total": 1608,
"is_985": 37,
"is_211": 108,
"public": 900,
"private": 400
}
}快速使用
从 Hugging Face 加载
from datasets import load_dataset
dataset = load_dataset("choucsan/Gaokao-Compass-11M")直接读取 CSV
import pandas as pd
# 读取 2024 年浙江的招生计划
df = pd.read_csv("data/2024/zhejiang/enrollment-plan.csv")
# 查询计算机科学与技术专业的招生计划
cs = df[df["major_name"].str.contains("计算机科学与技术", na=False)]
print(cs[["university_name", "major_name", "plan_count", "tuition"]])查询一分一段表
import pandas as pd
# 读取 2024 年河南理科一分一段表
df = pd.read_csv("data/2024/henan/score-range.csv")
# 查看 600 分对应的排名
row = df[df["score"] == 600]
print(f"600分排名: {row['cumulative_count'].values[0]}")使用 meta.json
import json
with open("data/2024/zhejiang/meta.json", encoding="utf-8") as f:
meta = json.load(f)
print(f"浙江2024高考人数: {meta['exam_overview']['total_candidates']}")
print(f"招生院校数: {meta['university_stats']['total']}")
print(f"985高校: {meta['university_stats']['is_985']} 所")数据来源
数据来自各省教育考试院、阳光高考平台等公开渠道,经清洗、标准化和去重后整理为统一格式。
处理流程:
- 文件发现:扫描各省原始 Excel 文件,按类型自动分类
- 列名标准化:30+ 种原始列名映射为统一英文字段
- 数据清洗:科类标准化、数值安全转换、代码字段去小数点
- 去重:按文件大小 + MD5 去除重复文件,专业条目按 (院校, 批次, 科类, 专业代码) 去重
- 年份提取:从文件名和目录路径自动提取年份
- 质量验证:空值率检查、错误汇总、数据完整性报告
2025 年数据覆盖
应用场景
- 考生志愿填报:根据分数和排名查询可报考的院校和专业
- 录取趋势分析:历年分数线、招生人数变化趋势可视化
- 院校对比:985/211/公办/民办院校在各省的录取难度对比
- 专业热度分析:各专业招生计划人数和开设院校数量统计
- 教育研究:高考数据的学术研究和政策分析
许可证
Citation / 引用
@misc{zhishan_zou_2026,
author = { Zhishan Zou },
title = { Gaokao-Compass-11M (Revision 30b9233) },
year = 2026,
url = { https://huggingface.co/datasets/choucsan/Gaokao-Compass-11M },
doi = { 10.57967/hf/9882 },
publisher = { Hugging Face }
}联系方式
如有问题、纠错或合作需求:
