runtime
422 / 500
question 422 pandas Transformations · easy

The average delay that weights days, not flights

average_delay should return each airline's average arrival delay over all its flights. It averages each day first and then averages those daily numbers, so a quiet day with one bad flight counts as much as a busy day. For American Airlines in the example the report says 77.8 minutes, but the four flights average 39.75. Fix it. Cancelled flights have no delay (None) and don't count.

Functionaverage_delay(records)
recordsdictionaries with airline_code, flight_date, arrival_delay (minutes or None)
Returns{airline_code: average delay}
Examples
callaverage_delay([{'airline_code': 'AA', 'flight_date': '2025-01-10', 'arrival_delay': -3}, {'airline_code': 'AA', 'flight_date': '2025-01-10', 'arrival_delay': -23}, {'airline_code': 'AA', 'flight_date': '2025-01-10', 'arrival_delay': 18}, {'airline_code': 'AA', 'flight_date': '2025-01-11', 'arrival_delay': 167}])returns{'AA': 39.75}
callaverage_delay([{'airline_code': 'AA', 'flight_date': '2025-01-10', 'arrival_delay': -3}, {'airline_code': 'AA', 'flight_date': '2025-01-10', 'arrival_delay': -23}, {'airline_code': 'AA', 'flight_date': '2025-01-10', 'arrival_delay': 18}, {'airline_code': 'AA', 'flight_date': '2025-01-11', 'arrival_delay': 167}, {'airline_code': 'DL', 'flight_date': '2025-01-10', 'arrival_delay': -25}, {'airline_code': 'DL', 'flight_date': '2025-01-11', 'arrival_delay': 54}, {'airline_code': 'DL', 'flight_date': '2025-01-11', 'arrival_delay': None}])returns{'AA': 39.75, 'DL': 14.5}
callaverage_delay([{'airline_code': 'MQ', 'flight_date': '2025-01-10', 'arrival_delay': 42}])returns{'MQ': 42}

Loading your progress…

The average delay that weights days, not flights — Python practice · Runtime