football_analytics
收藏资源简介:
该数据集是一个从 StatsBomb 开放数据生成的 SQLite 关系数据库(football.db),大小约 290 MB,包含 47 个表。其目标是提供即用型足球分析数据库,免去解析和转换大量原始 JSON 文件的繁琐工作。数据库内容涵盖比赛、球队、球员以及详细的事件级数据,包括传球、射门、盘带、带球、对抗、拦截、犯规、解围、封堵、守门员动作、换人和控球等。数据库采用规范化关系结构,按比赛、赛季、赛事、事件等分层组织。该数据集适用于足球分析、体育数据科学、SQL 练习、数据工程项目、仪表盘开发、学术研究以及机器学习特征工程等场景。数据集附带了 Python 和 SQLite 的使用示例,以及常见的分析查询(如最佳射手、传球成功率)。
This dataset is a SQLite relational database (football.db) generated from StatsBomb open data, approximately 290 MB in size, containing 47 tables. Its goal is to provide a ready-to-use football analysis database, eliminating the tedious work of parsing and converting large amounts of raw JSON files. The database content covers matches, teams, players, and detailed event-level data including passes, shots, dribbles, carries, duels, interceptions, fouls, clearances, blocks, goalkeeper actions, substitutions, and possession. The database adopts a normalized relational structure, organized hierarchically by match, season, competition, event, etc. This dataset is suitable for football analysis, sports data science, SQL practice, data engineering projects, dashboard development, academic research, and machine learning feature engineering. The dataset comes with usage examples in Python and SQLite, as well as common analysis queries (e.g., top scorers, pass success rate).
📌 数据集概览
本数据集为 Football Analytics SQLite Database,是一个基于 StatsBomb Open Data 加工生成的、可直接用于足球分析的关系型数据库,免去了解析和转换数千个原始 JSON 文件的繁琐过程。
📊 基本信息
| 属性 | 详情 |
|---|---|
| 格式 | SQLite 数据库 |
| 文件 | football.db |
| 数据库大小 | 约 290 MB |
| 数据表数量 | 47 张 |
| 数据来源 | StatsBomb Open Data |
| 数据库引擎 | SQLite |
| 所属项目 | Football Analytics Dashboard |
| 语言 | 英文 |
| 数据规模 | 100M < n < 1B |
🗂️ 数据内容
数据库包含结构化的足球数据,涵盖以下类别:
- 比赛(Competitions):赛事信息、赛季信息、锦标赛元数据
- 比赛场次(Matches):比赛详情、比赛日期、主队、客队、比赛结果
- 球队(Teams):球队信息与标识
- 球员(Players):球员信息、场上位置、球队关联
- 事件(Events):详细的逐事件级足球数据,包括:
- 传球(Passes)
- 射门(Shots)
- 盘带(Dribbles)
- 带球推进(Carries)
- 对抗(Duels)
- 拦截(Interceptions)
- 犯规(Fouls)
- 解围(Clearances)
- 封堵(Blocks)
- 门将动作(Goalkeeper Actions)
- 换人(Substitutions)
- 控球(Possessions)
🏗️ 数据库结构
数据库采用规范化的关系结构,层级关系如下:
text Competitions │ └── Seasons │ └── Matches │ ├── Events │ ├── PassEvents │ ├── ShotEvents │ ├── GoalkeeperEvents │ ├── DribbleEvents │ └── Other Event Tables │ ├── Teams │ └── Players
完整的 ER 图可在 GitHub 仓库中查看。
💻 使用方式
Python 示例
python import sqlite3 import pandas as pd
conn = sqlite3.connect("football.db")
df = pd.read_sql( "SELECT * FROM Matches LIMIT 10", conn )
print(df.head())
SQLite 命令行
bash sqlite3 football.db
sql SELECT COUNT(*) FROM Matches;
🔗 相关资源
- 源数据仓库(StatsBomb Open Data):https://github.com/statsbomb/open-data
- 项目 GitHub 仓库(Football Analytics Dashboard):https://github.com/vishnu8406/football-analytics
- 在线演示仪表盘:https://football-analytics-maiyarasu.streamlit.app/
🎯 适用场景
本数据集适用于以下用途:
- 足球分析(Football Analytics)
- SQL 学习与实践
- 体育数据科学(Sports Data Science)
- 数据工程项目(Data Engineering)
- 仪表盘开发(Dashboard Development)
- 学术研究(Academic Research)
- 机器学习特征工程(Machine Learning Feature Engineering)
📖 引用信息
如在研究或项目中使用本数据集,请引用:
text Vishnu S. Maiyarasu. Football Analytics Database. Generated from StatsBomb Open Data. 2026.
🙏 致谢
- StatsBomb Open Data
- SQLite
- Python
- Pandas
- Streamlit
- mplsoccer
- Football Analytics Community
本数据集仅用于教育、研究和分析目的。如需商业使用,请查阅 StatsBomb 的许可条款。




