import matplotlib.pyplot as plt import numpy as np """ A commuter who’s keen on collecting data has collated the arrival times for buses at her local bus stop over a six-month period. The timetabled arrival times are at 15 minutes and 45 minutes past the hour, but she noticed that the true arrival times follow a normal distribution around these times: This plot shows the relative likelihood of a bus arriving at each minute within an hour. This probability distribution can be represented using NumPy and np.linspace(): """ mean = 15, 45 sd = 5, 7 x = np.linspace(0, 59, 60) # Represents each minute within the hour first_distribution = np.exp(-0.5 * ((x - mean[0]) / sd[0]) ** 2) second_distribution = 0.9 * np.exp(-0.5 * ((x - mean[1]) / sd[1]) ** 2) y = first_distribution + second_distribution y = y / max(y) plt.plot(x, y) plt.ylabel("Relative probability of bus arrivals") plt.xlabel("Minutes past the hour") plt.show()