如何获取FastF1中完整的遥测绘图点(X,Y)数据?
获取FastF1遥测全部数据的解决方法
方法1:修改Pandas显示设置
Pandas默认会截断长数据输出,只需调整全局显示选项,就能让print输出所有行的数据:
import pandas as pd import matplotlib.pyplot as plt import fastf1.plotting # 修改Pandas显示设置,显示所有行 pd.set_option('display.max_rows', None) # 可选:如果列数过多也需要显示全部,加上下面这行 # pd.set_option('display.max_columns', None) fastf1.plotting.setup_mpl() session = fastf1.get_session(2021, 'United States Grand Prix', 'Q') session.load() ver_lap = session.laps.pick_driver('VER').pick_fastest() ver_tel = ver_lap.get_car_data().add_distance() # 现在会打印全部Distance和Speed数据 print(ver_tel[['Distance', 'Speed']])
方法2:导出数据到CSV文件
如果需要长期保存或用其他工具查看数据,直接导出为CSV文件是更实用的方式:
import matplotlib.pyplot as plt import fastf1.plotting fastf1.plotting.setup_mpl() session = fastf1.get_session(2021, 'United States Grand Prix', 'Q') session.load() ver_lap = session.laps.pick_driver('VER').pick_fastest() ver_tel = ver_lap.get_car_data().add_distance() # 导出指定列到CSV文件 ver_tel[['Distance', 'Speed']].to_csv('ver_fastest_lap_telemetry.csv', index=False)
导出后打开ver_fastest_lap_telemetry.csv即可查看所有(X,Y)绘图点数据。
方法3:逐行遍历打印(适合小批量数据)
如果只需要快速查看,也可以直接遍历数据行打印:
import matplotlib.pyplot as plt import fastf1.plotting fastf1.plotting.setup_mpl() session = fastf1.get_session(2021, 'United States Grand Prix', 'Q') session.load() ver_lap = session.laps.pick_driver('VER').pick_fastest() ver_tel = ver_lap.get_car_data().add_distance() # 遍历每一行打印Distance和Speed for idx, row in ver_tel[['Distance', 'Speed']].iterrows(): print(f"Distance: {row['Distance']:.2f}, Speed: {row['Speed']}")
内容的提问来源于stack exchange,提问作者Mihir Seth
相关产品推荐
相关产品推荐

