Telemetry Overview
Telemetry data is stored in theTelemetry class, which extends pandas DataFrame with specialized methods for working with time-series racing data.
Available Telemetry Channels
TheTelemetry class can contain multiple data channels:
Car Data Channels
Original data from the F1 API:float
Car speed in km/h
float
Engine RPM (revolutions per minute)
int
Current gear number (1-8)
float
Throttle pedal position (0-100%)
The value 104 sometimes appears indicating unavailable data, typically when the car is stationary.
bool
Whether brakes are applied (
True) or not (False)int
DRS (Drag Reduction System) status:
0: DRS not available1: DRS available but not activated2: DRS available and activated3: DRS active (different detection method)
Position Data Channels
float
X coordinate position in 1/10 meters
float
Y coordinate position in 1/10 meters
float
Z coordinate (elevation) in 1/10 meters
str
Position status:
'OnTrack' or 'OffTrack'Timing Channels
Present in both car and position data:timedelta
Time relative to the start of the data slice (0 = first sample)
timedelta
Time elapsed since the start of the session
datetime
Full date and time when the sample was created
str
How the sample was created:
'car': Original car data sample'pos': Original position data sample'interpolated': Artificially created/interpolated sample
Computed Channels
These can be added using methods:float
Distance driven since the first sample (meters)
float
Relative distance from 0.0 (first sample) to 1.0 (last sample)
float
Distance driven between consecutive samples (meters)
str
Driver number of the car ahead
float
Distance to the car ahead in meters
Accessing Telemetry Data
There are multiple ways to access telemetry:From Laps
The most common approach is through lap objects:From Session
Direct access to raw telemetry by driver:Slicing Telemetry
Telemetry can be sliced by time or lap:slice_by_lap()
Slice telemetry to include only data from specific laps:Lap | Laps
required
The lap or laps to slice by
int
default:"0"
Number of samples to pad the slice with
str
default:"'both'"
Where to add padding:
'both', 'before', or 'after'bool
default:"False"
Add interpolated samples at exact start/end times
slice_by_time()
Slice telemetry by session time:Adding Computed Channels
Computed channels add derived data to telemetry:add_distance()
Add cumulative distance driven:Distance is calculated by integrating speed over time. Integration error accumulates over long periods, so use this only for single laps or a few laps at a time.
add_relative_distance()
Add normalized distance (0.0 to 1.0):add_differential_distance()
Add distance between consecutive samples:add_driver_ahead()
Add information about the driver ahead:Merging Telemetry Channels
Merge telemetry from different sources:merge_channels()
Telemetry | DataFrame
required
The telemetry object to merge with
int | 'original' | None
Resampling frequency:
'original': Keep all timestamps from both sources (recommended)int: Resample to specified frequency in HzNone: UseTelemetry.TELEMETRY_FREQUENCYsetting
Merging with
frequency='original' is recommended. It preserves all original data points and only interpolates where necessary. Resampling to a fixed frequency interpolates most values, reducing accuracy.Resampling Telemetry
Change the sampling frequency of telemetry:resample_channels()
Practical Examples
Compare Driver Speed on Fastest Lap
Analyze Throttle Application
Find Braking Zones
Track Position Visualization
Advanced: Custom Telemetry Channels
Register custom channels for automatic interpolation:'continuous': Speed, distance, etc. (requires interpolation method)'discrete': Gear, DRS, flags, etc. (uses forward-fill)'excluded': Channel ignored during resampling
Performance Tips
Use Car Data When Position Not Needed
Use Car Data When Position Not Needed
get_car_data() is faster than get_telemetry() if you don’t need position data:Add Channels Selectively
Add Channels Selectively
Only add computed channels you actually need:
Avoid Multiple Resampling
Avoid Multiple Resampling
Resample only once from original data to preserve accuracy:
Related Topics
- Lap Timing - Combine telemetry with lap timing data
- Loading Data - Understanding telemetry loading options
