Random Numbers: Hugo Bowne-Anderson
Random Numbers: Hugo Bowne-Anderson
I N T E R M E D I AT E P Y T H O N
Hugo Bowne-Anderson
Data Scientist at DataCamp
INTERMEDIATE PYTHON
INTERMEDIATE PYTHON
INTERMEDIATE PYTHON
INTERMEDIATE PYTHON
INTERMEDIATE PYTHON
Can't go below step 0
INTERMEDIATE PYTHON
How to solve?
Analytical
INTERMEDIATE PYTHON
Random generators
import numpy as np
np.random.rand() # Pseudo-random numbers
0.6964691855978616
np.random.rand()
0.28613933495037946
INTERMEDIATE PYTHON
Random generators
np.random.seed(123)
np.random.rand()
0.28613933495037946
INTERMEDIATE PYTHON
Coin toss
game.py
import numpy as np
np.random.seed(123)
print(coin)
INTERMEDIATE PYTHON
Coin toss
game.py
import numpy as np
np.random.seed(123)
coin = np.random.randint(0,2) # Randomly generate 0 or 1
print(coin)
if coin == 0:
print("heads")
else:
print("tails")
0
heads
INTERMEDIATE PYTHON
Let's practice!
I N T E R M E D I AT E P Y T H O N
Random Walk
I N T E R M E D I AT E P Y T H O N
Hugo Bowne-Anderson
Data Scientist at DataCamp
Random Step
INTERMEDIATE PYTHON
Random Walk
Known in Science
Path of molecules
INTERMEDIATE PYTHON
Heads or Tails
headtails.py
import numpy as np
np.random.seed(123)
outcomes = []
for x in range(10) :
coin = np.random.randint(0, 2)
if coin == 0 :
outcomes.append("heads")
else :
outcomes.append("tails")
print(outcomes)
INTERMEDIATE PYTHON
Heads or Tails: Random Walk
headtailsrw.py
import numpy as np
np.random.seed(123)
tails = [0]
for x in range(10) :
coin = np.random.randint(0, 2)
tails.append(tails[x] + coin)
print(tails)
[0, 0, 1, 1, 1, 1, 1, 1, 2, 3, 3]
INTERMEDIATE PYTHON
Step to Walk
outcomes
tails
[0, 0, 1, 1, 1, 1, 1, 1, 2, 3, 3]
INTERMEDIATE PYTHON
Let's practice!
I N T E R M E D I AT E P Y T H O N
Distribution
I N T E R M E D I AT E P Y T H O N
Hugo Bowne-Anderson
Data Scientist at DataCamp
Distribution
INTERMEDIATE PYTHON
Random Walk
headtailsrw.py
import numpy as np
np.random.seed(123)
tails = [0]
for x in range(10) :
coin = np.random.randint(0, 2)
tails.append(tails[x] + coin)
INTERMEDIATE PYTHON
100 runs
distribution.py
import numpy as np
np.random.seed(123)
final_tails = []
for x in range(100) :
tails = [0]
for x in range(10) :
coin = np.random.randint(0, 2)
tails.append(tails[x] + coin)
final_tails.append(tails[-1])
print(final_tails)
[3, 6, 4, 5, 4, 5, 3, 5, 4, 6, 6, 8, 6, 4, 7, 5, 7, 4, 3, 3, ..., 4]
INTERMEDIATE PYTHON
Histogram, 100 runs
distribution.py
import numpy as np
np.random.seed(123)
final_tails = []
for x in range(100) :
tails = [0]
for x in range(10) :
coin = np.random.randint(0, 2)
tails.append(tails[x] + coin)
final_tails.append(tails[-1])
INTERMEDIATE PYTHON
Histogram, 100 runs
INTERMEDIATE PYTHON
Histogram, 1,000 runs
distribution.py
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(123)
final_tails = []
for x in range(1000) : # <--
tails = [0]
for x in range(10) :
coin = np.random.randint(0, 2)
tails.append(tails[x] + coin)
final_tails.append(tails[-1])
INTERMEDIATE PYTHON
Histogram, 1,000 runs
INTERMEDIATE PYTHON
Histogram, 10,000 runs
distribution.py
import numpy as np
import matplotlib.pyplot as plt
np.random.seed(123)
final_tails = []
for x in range(10000) : # <--
tails = [0]
for x in range(10) :
coin = np.random.randint(0, 2)
tails.append(tails[x] + coin)
final_tails.append(tails[-1])
INTERMEDIATE PYTHON
Histogram, 10,000 runs
INTERMEDIATE PYTHON
Let's practice!
I N T E R M E D I AT E P Y T H O N