☰
Fast-F1 的 F1 数据分析指南:4 步上手遥测数据处理与可视化
2026/10/15 2:16:36 网站建设 项目流程

Fast-F1 的 F1 数据分析指南:4 步上手遥测数据处理与可视化

【免费下载链接】Fast-F1FastF1 is a python package for accessing and analyzing Formula 1 results, schedules, timing data and telemetry项目地址: https://gitcode.com/GitHub_Trending/fa/Fast-F1

面向 F1 数据分析的 Python 库 Fast-F1,能用几行代码取到比赛结果、计时数据和遥测数据,返回的都是 Pandas 表格式,方便你接着用熟悉的方法做处理。本指南面向 F1 爱好者和数据分析入门者,按"安装 → 取数 → 理解数据结构 → 画图"的顺序带你跑通一遍。

📥 Fast-F1 安装步骤:5 分钟取出杆位圈遥测

先克隆仓库并装好依赖:

git clone https://gitcode.com/GitHub_Trending/fa/Fast-F1 cd Fast-F1 pip install -r requirements/dev.txt

再写第一个脚本。fastf1.get_session按"年份 + 赛事名 + 场次类型"定位一次比赛,这里取 2023 年摩纳哥大奖赛的排位赛;session.load()下载数据后,整场排位赛的圈次会进入session.laps表;pick_fastest()从圈次表里抽出最快的一圈;get_telemetry()返回这一圈的遥测:

import fastf1 import fastf1.plotting fastf1.plotting.setup_mpl() # 配置 Matplotlib 绘图支持 session = fastf1.get_session(2023, 'Monaco', 'Q') session.load() pole_lap = session.laps.pick_fastest() tel = pole_lap.get_telemetry() print(tel[['Speed', 'RPM', 'nGear']].head())

打印出来的是一张每几毫秒一个采样的表:Speed(km/h)、RPM(发动机转速)、nGear(当前档位)。到这里,第一份遥测数据已经在手里了。

看懂遥测数据为什么"长得像" Pandas

tel能直接写tel[tel['Speed'] > 200]过滤、能套任何 Pandas 方法,靠的是一条继承链:Telemetry(Fast-F1 存放多通道遥测的容器类)继承自BaseDataFrame,后者又继承自pandas.DataFrame,基础类源码在 fastf1/internals/pandas_base.py。BaseDataFrame构造时会读取子类声明的_COLUMNS属性,按这张表把各通道自动转成对应类型——Speed 是 float、nGear 是 int、Brake 是 bool,取到数据后不用手动转换。

📊 遥测数据可视化:画出单圈速度曲线,再对比两位车手

最常见的场景是看单圈内的速度变化。先调用fastf1.plotting.setup_mpl()(配置 Matplotlib 的样式支持),之后就能按平常的方式画 matplotlib 图,两行代码得到杆位圈的速度曲线:

再进一步,可以逐圈对比两位车手的节奏。session.laps.pick_drivers('LEC')从圈次表里筛出勒克莱尔的圈,取完pick_fastest()后直接画 LapTime 列,就能得到下面的双车手圈速对比:

如果需要更细的派生分析,Telemetry类自带了几个"一步加列"的方法:

方法作用
add_distance()追加自本圈第一个采样点以来累计走过的距离,常用作跨车手对齐轴
add_differential_distance()追加相邻两个采样点之间走过的距离
add_driver_ahead()追加与前车的距离差,以及前车车手的车号

举个例子:想对比两位车手在同一弯道的速度曲线,先各自add_distance(),把数据对齐到"距离"轴上,再按统一轴插值画图。配色、图例等绘图参数则参考 docs/ 里 plotting 相关章节。

继续深挖:文档、示例脚本与参考数据

  • API 参考:docs/api_reference/ 按主题收录了遥测、成绩、计时数据、缓存等全部类和方法的说明。
  • 可运行示例:examples/ 按场景(圈速分布、轮胎策略、车手对比等)组织好脚本,改个年份和赛道名即可复用。
  • 离线参考数据:fastf1/testing/reference_data/ 保存了多个场次原始 API 响应,断网调试时能直接用它跑通流程。

项目目前仍在迭代数据源接入与缓存机制,新版本会持续引入新特性,关注 docs/changelog/ 就能了解动向。

【免费下载链接】Fast-F1FastF1 is a python package for accessing and analyzing Formula 1 results, schedules, timing data and telemetry项目地址: https://gitcode.com/GitHub_Trending/fa/Fast-F1

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询