YAOTU INSIGHTS

FastF1 实践指南:用 Python 完成 F1 比赛遥测数据分析与可视化

FastF1 实践指南:用 Python 完成 F1 比赛遥测数据分析与可视化
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 赛事成绩、赛程、计时与遥测数据适合想用 Python 和 Pandas 对赛车数据做量化分析的 F1 爱好者、数据分析师与赛事研究者。 它解决什么问题想量化车手 A 比车手 B 快在哪里通常需要逐秒计时和连续的遥测数据。这类数据平时并不以易用的结构化形式存在多数人只能靠截图或回放肉眼估计。FastF1 对接 F1 官方数据源包括 Ergast 兼容的 jolpica API几行代码即可拉取任意赛季的整场数据并以 Pandas DataFrame 的形式直接返回之后过滤、聚合、画图都能沿用熟悉的 Pandas 写法。 三个值得留意的设计点数据拿来即用session.results、session.laps以及由lap.get_telemetry()得到的Telemetry对象都是 Pandas DataFrame 的子类pick_drivers(VER)、pick_fastest()这类 F1 专用方法则直接附加在 DataFrame 上选圈、选人一步到位。内置遥测分析add_distance()等方法会给数据补上距离列让每米跑多快这类对比成为可能正是分析同一段赛道上两辆车谁更快的基础。直出可视化fastf1.plotting.setup_mpl()会配置好 Matplotlib 样式含 timedelta 时间值的绘制支持不手动调颜色也能得到规整的图表。上图是由遥测数据绘制的单圈速度曲线每一次速度的跌落与回升都对应一个弯角哪里快、哪里慢直接读曲线即可。 从安装到第一个结果安装很简单README 中给出了 pip 与 conda 两种方式pip install fastf1最小可运行示例——加载 2021 法国大奖赛排位赛并输出结果import fastf1 session fastf1.get_session(2021, French Grand Prix, Q) session.load() fastest session.laps.pick_fastest() print(fastest[Driver], fastest[LapTime]) print(session.results.loc[:, [Abbreviation, Q3]].iloc[:5])注意get_session之后必须调用session.load()这一步才真正去各数据源下载数据session.laps在此之前是空的。 完整场景对比两位车手全场圈速以 2020 比利时大奖赛为例比较勒克莱尔LEC与汉密尔顿HAM整场比赛的节奏import matplotlib.pyplot as plt import fastf1 import fastf1.plotting fastf1.plotting.setup_mpl(color_schemefastf1) session fastf1.get_session(2020, Belgian, R) session.load() lec session.laps.pick_drivers(LEC) ham session.laps.pick_drivers(HAM) fig, ax plt.subplots() ax.plot(lec[LapNumber], lec[LapTime], colorred) ax.plot(ham[LapNumber], ham[LapTime], colorcyan) ax.set_title(LEC vs HAM) plt.show()从图中可以直观看出每位车手在哪些圈段快了、哪些圈段掉了。如果想进一步看同一圈内速度差异把数据源换成lap.get_telemetry()即可examples/telemetry/plot_speed_traces.py 里就是现成的双圈速曲线对比模板。整个 examples/ 目录按圈速、遥测、策略等场景分组可以按需直接取用。 实用提示赛事名支持模糊匹配但不要全信get_event(2021, Spain)能匹配到 Spanish Grand Prix但名字给得含糊时可能返回另一场比赛官方文档明确提醒过这一点建议加载后确认session.event[EventName]。缓存是内置的所有 API 请求都经过 requests-cache同一脚本第二次运行不会重新下载速度明显更快。各数据对象的字段定义可查 docs/api_reference/ 下的 API 参考入门流程见 docs/getting_started/basics.rst。FastF1 让 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-F1创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考