import numpy as np
①np.random.rand(d0, d1, …, dn) 生成[0,1)之间的随机数组,由d确定各维度的数字的数量。
Int[1]:np.random.rand(2, 2)
Out[1]:
array([[0.56330365, 0.57823374],
[0.95216056, 0.56467033]])
②np.random.randn(d0, d1, …, dn) 生成符合标准正态分布的随机数组,由d确定各维度的数字的数量。
Int[2]:np.random.randn(2, 2)
Out[2]:
array([[-2.25012052, 0.23215733],
[ 0.72903542, -2.23783359]])
③np.random.randint(low, high, size) 生成[low,high)之间size形状的int型随机数组。
Int[3]np.random.randint(0, 10, (2, 2))
Out[3]:
array([[9, 7],
[0, 8]])
当high=None时,则生成[0,low)之间size形状的随机数组。
Int[4]np.random.randint(10, size=[2, 2])
Out[4]:
array([[7, 9],
[7, 1]])
④np.random.uniform(low, high, size) 生成[low,high)之间size形状的float型随机数组。
Int[5]np.random.uniform(1,20,(2,2))
Out[5]:
array([[11.32469389, 6.28901832],
[ 9.06583422, 17.05074651]])
当high=None时,同上。
⑤np.random.normal(loc, scale, size) 随机生成符合均值为loc,方差为scale的正太分布的size大小的数组。
Int[6]:np.random.normal(0, 1, (2, 2))
Out[6]:
array([[-0.24888867, -0.45017644],
[ 0.1324278 , 0.02221393]])
⑥np.random.poisson(lam, size) 生成lam的size大小的随机数组。
Int[7]:np.random.poisson(2,(2,2))
Out[7]:
array([[2, 2],
[3, 1]])
⑦np.random.choice(a, size, replace=False) 从数组a中等概率选取数据,构成size大小的数组。a必须为一维数组,replace=True时,为有放回的抽取。
a = np.random.randint(1, 10, size=8)
print(a)
b = np.random.choice(a, (2, 2), replace=True)
print(b)
结果:
[2 9 4 1 2 2 5 5]
[[2 2]
[5 5]]
⑧np.random.seed(s) 随机数种子,参数为整数类型。只起1次作用。
默认的随机数种子为时钟。
⑨np.random.shuffle(a) 打乱数组
Tips:
①size也可以用列表的形式。
②python自带的标准库random中类似的函数基本上右边能取到闭区间。