@R星校长
第4
关:随机数生成
简单随机数生成
NumPy
的random
模块下提供了许多生成随机数的函数,如果对于随机数的概率分布没有什么要求,则通常可以使用random_sample
、choice
、randint
等函数来实现生成随机数的功能。
random_sample
random_sample
用于生成区间为[0, 1]
的随机数,需要填写的参数size
表示生成的随机数的形状,比如size=[2, 3]
那么则会生成一个2
行3
列的ndarray
,并用随机值填充。示例代码如下:
import numpy as np
'''
结果可能为[[0.32343809, 0.38736262, 0.42413616]
[0.86190206, 0.27183736, 0.12824812]]
'''
print(np.random.random_sample(size=[2, 3]))
choice
如果想模拟像掷骰子、扔硬币等这种随机值是离散值,而且知道范围的可以使用choice
实现。choice
的主要参数是a
、size
和replace
。a
是个一维数组,代表你想从a
中随机挑选;size
是随机数生成后的形状。假如模拟5
次掷骰子,replace
用来设置是否可以取相同元素,True
表示可以取相同数字;False
表示不可以取相同数字,默认是True
,代码如下:
import numpy as np
'''
掷骰子时可能出现的点数为1, 2, 3, 4, 5, 6,所以a=[1,2,3,4,5,6]
模拟5此掷骰子所以size=5
结果可能为 [1 4 2 3 6]
'''
print(np.random.choice(a=[1, 2, 3, 4