资讯动态

FastF1 快速上手指南:用 Python 获取 F1 遥测与圈速数据

发布时间:2026/10/15 1:57:58 来源:尧图企业网站定制
FastF1 快速上手指南用 Python 获取 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-F1FastF1 是一个用 Python 获取和分析 F1 比赛结果、赛程、计时数据和遥测的库。如果你是 F1 车迷或数据分析师想对比车手圈速、绘制单圈速度曲线、统计进站策略它的get_session提供统一入口加载后所有数据都是 pandas DataFrame 子类可以直接用熟悉的 pandas 语法处理。整个流程是安装、加载、筛选三步几分钟内就能拿到第一个可用结果。为什么 F1 数据分析需要 FastF1F1 数据分散在多个来源个人很难直接拿到高频遥测FastF1 用一套统一接口解决了这个问题。统一入口一次get_session调用即可定位某场 session 的比赛结果、计时、天气与遥测数据pandas 原生对象Laps、Telemetry等继承自 pandas DataFrame / Series基类实现在 fastf1/internals/pandas_base.py筛选、分组等常用操作开箱即用内置缓存与限流所有 HTTP 请求都经过Cache处理脚本重复运行不会反复请求 APIMatplotlib 集成fastf1.plotting.setup_mpl()会自动处理 timedelta 坐标轴并加载车手/车队配色。 最小工作流从安装到第一份遥测数据按顺序执行三个步骤就能拿到单圈的 Speed、RPM、nGear 序列。安装要求 Python 3.10pip 或 conda 都可以定位 sessionget_session第二个参数可传轮次编号、赛事名或地点名称匹配是模糊查找建议确认一下session.name调用session.load()后取数session.laps是逐圈计时表lap.telemetry是高频遥测。pip install fastf1import fastf1 session fastf1.get_session(2021, 7, Q) # 2021 年第 7 站法国站排位赛 session.load() fastest session.laps.pick_fastest() print(fastest[LapTime], fastest[Driver]) print(fastest.telemetry[[Time, Speed, RPM, nGear]].head())脚本会反复处理同一场比赛时可以提前开启本地缓存避免重复拉取 APIfastf1.Cache.enable_cache(f1_cache)核心对象与模块路径速查FastF1 的数据分层清晰每一层对应一个明确对象查表就能定位要用的东西。对象位置作用fastf1.get_session/fastf1.get_eventfastf1/events.py按年份加轮次或名称定位 session / eventSessionfastf1/core.py单场比赛数据容器results、laps、遥测、天气、赛事控制信息Laps/Lapfastf1/core.py逐圈计时表带pick_fastest、pick_drivers、pick_quicklaps等筛选方法Telemetryfastf1/core.py高频遥测通道Speed、RPM、nGear、DRS、XYZ 坐标等fastf1.plottingfastf1/plotting/车手颜色、绘图样式与 colormap 配置Cachefastf1/req.py本地缓存开关、清理与限流管理上图是pick_fastest().telemetry得到的单圈 Speed 随 Time 变化的轨迹是Telemetry最典型的使用方式。 进阶圈速对比与速度轨迹叠加分析基础取数跑通后常见的分析场景是“每个 stint 的节奏如何”和“两位车手的最快圈差在哪里”。圈速走势用session.laps.pick_drivers(VEC)之类的方法按车手筛选后直接对LapNumber与LapTime画图分析策略时用pick_quicklaps()去掉进出 pit 的慢圈避免坐标轴被拉偏速度叠加对比分别取两位车手的get_car_data()并调用add_distance()生成统一距离轴再叠加 Speed 曲线即可定位差距出现的赛段完整脚本见 examples/telemetry/plot_speed_traces.py配色fastf1.plotting.get_team_color(team, sessionsession)返回可直接传给 matplotlib 的颜色值。上图是同场正赛中两位车手圈速的对比整张图只需要ax.plot(LapNumber, LapTime)加上一次setup_mpl()调用。文档、示例与测试数据在哪里找项目内自带文档、示例与参考数据不需要额外找外部资源。docs/Sphinx 文档docs/api_reference/ 覆盖全部公开对象docs/getting_started/ 是逐步入门examples/按场景分目录的可运行示例包括 lap_times、telemetry、results_strategy、standingsfastf1/testing/reference_data/测试用原始参考数据不方便联网时可用于验证解析逻辑获取源码git clone https://gitcode.com/GitHub_Trending/fa/Fast-F1再用pip install -r requirements/dev.txt安装开发依赖。下一步建议先跑一遍上面的最小工作流打印出最快圈然后挑 examples/telemetry/ 里的一个示例改成自己的数据画出第一条速度曲线。【免费下载链接】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),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑