Fast-F1 上手指南:3行代码拿到F1遥测数据,直接当Pandas表格分析
Fast-F1 上手指南3行代码拿到F1遥测数据直接当Pandas表格分析【免费下载链接】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-F1Fast-F1 是一个 Python 包把 F1 的计时、遥测和成绩数据拉取后转成扩展的 Pandas 对象替你处理掉 API 解析与数据清洗直接用于圈速对比和遥测分析。 三分钟上手加载一场F1排位赛Fast-F1 直接支持 pip 安装不需要克隆源码。核心路径就两条get_session定位比赛、session.load()拉数据之后全是表格操作。pip install fastf1import fastf1 session fastf1.get_session(2021, French Grand Prix, Q) # 按名称加载2021法国站排位赛 session.load() # 拉取计时、遥测、成绩数据自动本地缓存 fastest session.laps.pick_fastest() # 全场最快圈 print(fastest[Driver], fastest[LapTime]) # 输出车手和圈速session.laps是Laps对象每行一圈含LapTime、Sector1Time、SpeedTR、Compound轮胎配方等 30 多列get_session也支持用国家/地点名模糊匹配比如Monaco或Spain。 核心能力拆解F1 数据对象与遥测分析Fast-F1 的所有数据对象都继承自 Pandas 或提供 Pandas 式操作下面三个能力覆盖了绝大多数分析场景。成绩与圈速直接转成 DataFramesession.results和session.laps本身就是 DataFrame 子类切片、分组、排序照常用。Laps额外提供pick_fastest()最快圈、pick_drivers(HAM)指定车手、pick_tyres(SOFT)指定轮胎这类 F1 语义化的选取方法不用自己写筛选条件。遥测数据扩展距离、差值与前车位置lap.get_telemetry()返回Telemetry对象包含Speed、RPM、nGear、Throttle、Brake以及 X/Y 坐标等多通道时间序列。再各加一行就能派生出分析常用列tel fastest.get_telemetry().add_distance().add_differential_distance() tel[nGear].describe()add_distance()按位置累计行驶距离add_differential_distance()计算相邻采样点位移配合add_driver_ahead()还能标出前方车手是谁。调用 plotting 模块生成 F1 风格图表fastf1.plotting.setup_mpl(color_schemefastf1, mpl_timedelta_supportTrue)一次配置即启用 F1 官方配色并让Timedelta圈速能直接画进 matplotlib 坐标轴get_team_color()可按车队名取色画横条对比图时直接给每根 bar 上色。 看一眼底层Fast-F1 如何扩展 Pandas扩展的关键在 fastf1/internals/pandas_base.pyBaseDataFrame定义了类属性_COLUMNS声明每列的数据类型如datetime64[ns]、Optional[int]构造时自动完成列类型转换并通过重写_constructor保证切片后的对象仍是原类型——Telemetry切几刀还是Telemetry。fastf1/core.py 里的Telemetry类在此基础上实现插值、重采样与距离计算并用Source标志区分原始样本与插值样本Laps类则封装了圈速拆分与选取逻辑。历史赛事数据走 Jolpica 兼容 API见 fastf1/ergast/所有请求带本地缓存重复分析同一场比赛不会二次下载。 真实场景演示Fast-F1 圈速对比与速度曲线对比两位车手的比赛圈速。把各圈的LapTime按圈号画在同一张轴上是比赛分析里最常见的图这张图说明同一场比赛里两位车手的圈速节奏青色曲线LEC整体贴近 1:49起伏很小红色曲线HAM中段出现 2:04 量级的孤立尖峰通常是受交通或安全车影响的慢圈而不是真实圈速退步。还原一单圈的速度轨迹。把Telemetry的Speed对圈内时间作图直道与弯道的结构一眼可见这张图说明单圈速度如何随时间变化接近 320 km/h 的波峰对应两条长直道跌到 70~150 km/h 的波谷就是重刹区。以此为基准再叠加nGear、Throttle列就能对比换挡时机和刹车点。 接下来读什么Fast-F1 文档、示例与参考数据官方文档docs/含 入门指南、数据参考 和 API 参考可运行示例examples/覆盖圈速分布、轮胎策略、积分与遥测绘图等场景测试参考数据fastf1/testing/reference_data/2020/2021 赛季的原始会话数据文件断网也能复现分析流程后续版本主要围绕新赛历数据格式同步和 plotting 模块扩展车手配色、colormap 支持在持续更新。如果你手上有 F1 分析需求从get_session开始把解析的工作交给 Fast-F1自己只做分析本身。【免费下载链接】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),仅供参考