-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathf1-analysis-pitStops.py
More file actions
22 lines (14 loc) · 927 Bytes
/
Copy pathf1-analysis-pitStops.py
File metadata and controls
22 lines (14 loc) · 927 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import datetime as dt
import numpy as np
import pandas as pd
from os import path
import os
DATA_DIR = '/Users/gmalb/Downloads/f1'
current_year = dt.datetime.now().year
raceNoEarlierThan = current_year - 10
pitstops = pd.read_json(path.join(DATA_DIR, 'f1db-races-pit-stops.json'))
pitstops = pitstops[pitstops['year'].between(raceNoEarlierThan, current_year)]
pitstops_grouped = pitstops.groupby(['raceId', 'driverId', 'constructorId']).agg(numberOfStops = ('stop', 'count'), averageStopTimeMillis = ('timeMillis', 'mean'), totalStopTimeMillis = ('timeMillis', 'sum')).reset_index()
pitstops_grouped['averageStopTime'] = pitstops_grouped['averageStopTimeMillis'] / 1000
pitstops_grouped['totalStopTime'] = pitstops_grouped['totalStopTimeMillis'] / 1000
pitstops_grouped.to_csv('f1PitStopsData_Grouped.csv', columns=['raceId', 'driverId', 'constructorId', 'numberOfStops', 'averageStopTime', 'totalStopTime'], sep='\t')