question 429 pandas Transformations · hard
On-time rate by airline name
A flight is on time when it arrives no more than 15 minutes late. Write on_time_rates(flights, airlines): for each airline that operated at least one flight (not cancelled), return the share of its operated flights that were on time, keyed by the airline's name from airlines. An airline code missing from airlines is reported under the code itself.
Function
on_time_rates(flights, airlines)flightsdictionaries with
airline_code, arrival_delay (minutes or None), cancelled (0 or 1)airlinesdictionaries with
airline_code, airline_nameReturns
{name: share between 0 and 1}Examples
callon_time_rates([{'airline_code': 'UA', 'origin': 'LAS', 'destination': 'IAH', 'scheduled_departure': '2025-01-10 00:59', 'arrival_delay': -4, 'cancelled': 0}, {'airline_code': 'MQ', 'origin': 'MCI', 'destination': 'MIA', 'scheduled_departure': '2025-01-10 05:00', 'arrival_delay': 12, 'cancelled': 0}, {'airline_code': 'AA', 'origin': 'DFW', 'destination': 'MIA', 'scheduled_departure': '2025-01-10 05:01', 'arrival_delay': None, 'cancelled': 1}, {'airline_code': 'DL', 'origin': 'PDX', 'destination': 'SLC', 'scheduled_departure': '2025-01-10 05:10', 'arrival_delay': -25, 'cancelled': 0}, {'airline_code': 'AA', 'origin': 'SLC', 'destination': 'DFW', 'scheduled_departure': '2025-01-10 05:13', 'arrival_delay': -3, 'cancelled': 0}, {'airline_code': 'DL', 'origin': 'RDU', 'destination': 'ATL', 'scheduled_departure': '2025-01-10 05:15', 'arrival_delay': None, 'cancelled': 1}, {'airline_code': 'MQ', 'origin': 'FAR', 'destination': 'ORD', 'scheduled_departure': '2025-01-10 05:15', 'arrival_delay': 42, 'cancelled': 0}, {'airline_code': 'OO', 'origin': 'PDX', 'destination': 'SEA', 'scheduled_departure': '2025-01-10 05:15', 'arrival_delay': -22, 'cancelled': 0}, {'airline_code': 'AA', 'origin': 'BOS', 'destination': 'CLT', 'scheduled_departure': '2025-01-10 05:20', 'arrival_delay': -23, 'cancelled': 0}, {'airline_code': 'AA', 'origin': 'BOS', 'destination': 'DFW', 'scheduled_departure': '2025-01-10 05:20', 'arrival_delay': 18, 'cancelled': 0}, {'airline_code': 'DL', 'origin': 'DFW', 'destination': 'DTW', 'scheduled_departure': '2025-01-10 05:20', 'arrival_delay': 54, 'cancelled': 0}, {'airline_code': 'AA', 'origin': 'SEA', 'destination': 'DFW', 'scheduled_departure': '2025-01-10 05:22', 'arrival_delay': 167, 'cancelled': 0}], [{'airline_code': 'AA', 'airline_name': 'American Airlines'}, {'airline_code': 'DL', 'airline_name': 'Delta Air Lines'}, {'airline_code': 'MQ', 'airline_name': 'Envoy Air'}, {'airline_code': 'OO', 'airline_name': 'SkyWest Airlines'}, {'airline_code': 'UA', 'airline_name': 'United Air Lines'}])returns{'American Airlines': 0.5, 'Delta Air Lines': 0.5, 'Envoy Air': 0.5, 'SkyWest Airlines': 1, 'United Air Lines': 1}
callon_time_rates([{'airline_code': 'AA', 'arrival_delay': -3, 'cancelled': 0}, {'airline_code': 'AA', 'arrival_delay': 167, 'cancelled': 0}], [{'airline_code': 'AA', 'airline_name': 'American Airlines'}])returns{'American Airlines': 0.5}
callon_time_rates([], [{'airline_code': 'AA', 'airline_name': 'American Airlines'}, {'airline_code': 'DL', 'airline_name': 'Delta Air Lines'}, {'airline_code': 'MQ', 'airline_name': 'Envoy Air'}, {'airline_code': 'OO', 'airline_name': 'SkyWest Airlines'}, {'airline_code': 'UA', 'airline_name': 'United Air Lines'}])returns{}