FastF1 是一个用于获取一级方程式(Formula 1)赛事数据的技能,由 FastF1 库提供支持,覆盖 F1 的赛程、比赛结果、圈速计时、车手与车队信息,以及练习赛、排位赛、正赛等各类赛段数据。
用途 该技能面向 F1 赛事数据的查询与分析,可用于赛事周末分析、车手与车队对比、赛季概览等场景。
主要能力 通过命令可获取以下数据:
- get_race_schedule:完整赛季赛历,含日期与赛道。
- get_race_results:比赛最终排名(名次、用时、积分)。
- get_session_data:原始赛段信息(Q、FP1、FP2、FP3、R)。
- get_driver_info:车手详情(车号、车队、国籍)。
- get_team_info:车队信息及车手阵容。
- get_lap_data:逐圈计时,含分段与轮胎数据。
- get_pit_stops:进站数据,含维修区通道时间(非静止时间)与车队平均值。
- get_speed_data:速度陷阱与中间速度数据。
- get_championship_standings:车手与车队积分榜(--round=N 可查第 N 轮后排名)。
- get_season_stats:赛季综合表现(最快圈、最高速度等)。
- get_team_comparison:车队正面对比(排位、正赛节奏、分段)。
- get_driver_comparison:车手正面对比(排位 H2H、正赛 H2H、节奏差)。
- get_tire_analysis:轮胎策略、 stint 长度、退化率。
使用方式 推荐使用命令行工具,可避免 Python 导入路径问题:
sports-skills f1 get_race_schedule --year=2025 sports-skills f1 get_race_results --year=2025 --event=Monza
也可使用 Python SDK:
from sports_skills import f1
schedule = f1.get_race_schedule(year=2025) results = f1.get_race_results(year=2025, event="Monza")
查询前需注意:年份应从系统提示的当前日期推导,不要硬编码。1 月或 2 月属于季前,应使用 year = current_year - 1;3 月起使用当前年份。若用户指定年份则按指定值使用。
典型工作流 赛事周末分析:先 get_race_schedule 找到赛事名称与日期,再 get_race_results 获取最终排名,get_lap_data 分析逐圈节奏,get_tire_analysis 分析策略。 车手/车队对比:get_championship_standings 获取积分背景,get_team_comparison 或 get_driver_comparison 进行对比,get_season_stats 获取综合表现。 赛季概览:get_race_schedule 获取完整赛历,get_championship_standings 获取积分榜,get_season_stats 获取赛季最快圈与最高速度,get_driver_info 获取当前车手阵容。
适用场景 适用于 F1 赛事数据查询、比赛结果分析、车手与车队表现对比、赛季数据汇总等。
限制与注意事项
- 不存在的命令不要调用:get_qualifying / get_practice 不存在,应使用 get_session_data 并指定 session_type;get_standings 不存在,应使用 get_championship_standings;get_results 不存在,应使用 get_race_results;get_calendar 不存在,应使用 get_race_schedule。
- 事件名称需与 FastF1 内部命名一致,否则会报错,可先调用 get_race_schedule 获取准确名称。
- FastF1 仅返回已完成赛段的数据,未进行的赛段返回为空。
- 若 get_race_results 未返回 fastest_lap_time,说明该场比赛无圈速数据,可用 get_lap_data(session_type="R") 取所有车手最小圈速。
- 1 月或 2 月查询当前年份会无数据,应使用上一年份。
- 完整参数列表与返回结构参见 references/api-reference.md。