numpy.random模块对Python内置的random进行补充,增加用于高效生成多种概率分布的样本值的函数。
生成标准正态分布的4x4样本数组
samples = np.random.normal(size=(4, 4))
samples
Python内置的random模块生成大量样本值
from random import normalvariate
N = 1000000
%timeit samples = [normalvariate(0, 1) for _ in range(N)]
%timeit np.random.normal(size=N)
随机漫步
使用内置的random模块实现1000步的随机漫步
import random
position = 0
walk = [position]
steps = 1000
for i in range(steps):
step = 1 if random.randint(0, 1) else -1
position += step
walk.append(position)