Plot the distribution
All these fancy visualizations has put us on a sidetrack. We still have to solve the million-dollar problem: What are the odds that you'll reach 60 steps high on the Empire State Building?
Basically, you want to know about the end points of all the random walks you've simulated. These end points have a certain distribution that you can visualize with a histogram.
This exercise is part of the course
Intermediate Python for Data Science
Exercise instructions
- To make sure we've got enough simulations, go crazy. Simulate the random walk 1000 times.
- From
np_aw_t, select the last row. This contains the endpoint of all 1000 random walks you've simulated. Store this Numpy array asends. - Use
plt.hist()to build a histogram ofends. Don't forgetplt.show()to display the plot.
Hands-on interactive exercise
Have a go at this exercise by completing this sample code.
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(123)
all_walks = []
# Simulate random walk 1000 times
for i in range(250) :
random_walk = [0]
for x in range(100) :
step = random_walk[-1]
dice = np.random.randint(1,7)
if dice <= 2:
step = max(0, step - 1)
elif dice <= 5:
step = step + 1
else:
step = step + np.random.randint(1,7)
if np.random.rand() <= 0.001 :
step = 0
random_walk.append(step)
all_walks.append(random_walk)
# Create and plot np_aw_t
np_aw_t = np.transpose(np.array(all_walks))
# Select last row from np_aw_t: ends
# Plot histogram of ends, display plot