runtime
449 / 500
question 449 Data Formats & Analytical Workflows · hard

Per-airline delay statistics from a stream

Write delay_stats(path, chunksize): read the flights CSV in chunks and return, for each airline with at least one operated flight that has an arrival_delay, {"flights": count, "mean_delay": mean, "late": number with arrival_delay > 15}. Cancelled flights (cancelled == 1) and missing delays are left out. The result must be the same for every chunk size.

Functiondelay_stats(path, chunksize)
Returns{airline_code: {"flights": int, "mean_delay": float, "late": int}}
Examples
calldelay_stats('flights.csv', 4)returns{'AA': {'flights': 5, 'mean_delay': 32.8, 'late': 2}, 'DL': {'flights': 3, 'mean_delay': 2.3333333333333335, 'late': 1}, 'MQ': {'flights': 2, 'mean_delay': 27, 'late': 1}, 'OO': {'flights': 1, 'mean_delay': -22, 'late': 0}, 'UA': {'flights': 1, 'mean_delay': -4, 'late': 0}, 'WN': {'flights': 1, 'mean_delay': -49, 'late': 0}}
calldelay_stats('flights.csv', 15)returns{'AA': {'flights': 5, 'mean_delay': 32.8, 'late': 2}, 'DL': {'flights': 3, 'mean_delay': 2.3333333333333335, 'late': 1}, 'MQ': {'flights': 2, 'mean_delay': 27, 'late': 1}, 'OO': {'flights': 1, 'mean_delay': -22, 'late': 0}, 'UA': {'flights': 1, 'mean_delay': -4, 'late': 0}, 'WN': {'flights': 1, 'mean_delay': -49, 'late': 0}}
calldelay_stats('cancelled.csv', 1)returns{'B6': {'flights': 1, 'mean_delay': 20, 'late': 1}}

Loading your progress…

Per-airline delay statistics from a stream — Python practice · Runtime