flightCrashData2025|航空安全数据集|数据分析数据集
收藏飞行事故数据集概述
数据集基本信息
- 数据集名称: Flight Crash Data Repository
- 数据集地址: https://github.com/Amineharrabi/flightCrashData2025
- 数据覆盖时间: 2010年至2025年(持续更新)
- 最后更新: 2025年12月
数据来源
数据集整合了三个权威来源的航空事故数据:
- 航空安全网 (Aviation Safety Network, ASN)
- 来源网站: https://aviation-safety.net
- 获取方式: 网络爬虫抓取
- 数据内容: 包含完整事故摘要及完整报告链接
- 美国国家运输安全委员会 (National Transportation Safety Board, NTSB)
- 来源网站: https://data.ntsb.gov
- 获取方式: 基于API提取
- 数据内容: 详细的事故调查报告和案件信息
- CSV数据
- 来源: 结构化CSV文件
- 用途: 补充事故信息和历史数据
数据集内容与结构
数据集提供了一个完整的ETL(提取、转换、加载)管道,将数据组织成星型模式数据仓库。
数据仓库表结构
维度表
dim_date: 事故日期维度,包含完整日期、年、季度、月、日等字段。dim_time: 事故时间维度,包含时间值、小时、分钟、秒等字段。dim_location: 地理位置维度,包含国家、州/省、城市、机场代码、机场名称、经纬度等字段。dim_aircraft: 航空器维度,包含机型名称、制造商、型号、注册号、序列号、发动机数量等字段。dim_operator: 运营商维度,包含运营商名称、运营商类型、所有者名称、飞行运营类型等字段。
事实表
fact_accidents: 核心事实表,包含所有事故记录。- 航班信息: 航班号、出发航线、目的地航线。
- 伤亡指标: 总人数、总死亡人数、机组死亡人数、乘客死亡人数、地面死亡人数。
- 数据源追踪: 数据来源、源唯一标识。
暂存表
用于数据摄取的中间表:
stg_source1_aviation_safety: ASN原始数据。stg_source2_ntsb: NTSB原始数据。stg_source3_csv: CSV数据。
存储文件结构
flightCrashData/ ├── ASN_scraping/ # 航空安全网络爬虫 │ ├── scraper.py # 主ASN网络爬虫脚本 │ ├── aviation_accidents_YYYY.json # 按年份的事故数据文件 │ ├── merged_all_accidents.json # 合并的原始数据 │ ├── merged_all_accidents_cleaned.json # 清理/去重后的数据 │ ├── proxies.txt # 代理配置(可选) │ └── scraper_progress.json # 用于中断后恢复的进度文件 ├── NTSB_scraping/ # NTSB数据提取 │ ├── script.py # 主NTSB爬虫脚本 │ ├── merge_extracted_json.py # JSON合并工具 │ ├── unzip_with_rename.py # 归档提取工具 │ └── ntsb_data/ │ ├── extracted/ # 月度案件文件和元数据 │ └── readme.txt # NTSB特定文档 └── TL/ # 转换与加载 (ETL) ├── commands.sql # 数据库模式和ETL SQL ├── load_staging.py # 加载暂存表的Python脚本 ├── ASN.json # 处理后的ASN数据 ├── NTSB.json # 处理后的NTSB数据 ├── CSV.csv # CSV源数据 └── README.md # ETL特定文档
技术栈与依赖
- 数据提取: Python (requests, curl_cffi, BeautifulSoup)
- 数据存储: PostgreSQL 12+
- 数据格式: JSON, CSV, JSONB (PostgreSQL)
- 系统要求: Windows, macOS, 或 Linux;Python 3.8 或更高版本。
使用方式
快速开始
- 初始化数据库: 运行
TL/commands.sql脚本创建完整模式。 - 加载数据: 运行
TL/load_staging.py将JSON文件加载到PostgreSQL暂存表。 - 查询数据: 连接至
FlightAccidentMain数据库执行分析查询。
数据收集(可选)
- ASN爬虫: 运行
ASN_scraping/scraper.py抓取2010-2025年数据,支持延迟、代理和断点续传。 - NTSB爬虫: 运行
NTSB_scraping/script.py通过API提取月度事故数据。
示例查询
数据集支持复杂的分析查询,例如:
- 按年份统计事故数量和总死亡人数。
- 查询事故次数最多的前10种航空器类型及其平均死亡人数。
- 统计过去5年各国的事故数量和死亡人数。




