np.random.normal()

np.random.normal(loc= , scale= , size= ) 接收三个参数,normal在这里是指正态分布,该方法通过loc和scale指定正态分布的均值和方差,返回一个数组,内容是从这个分布中随机取得的值,而size就是指定这个数组的大小。如下图所示:

np.random.normal()的结构

图片来源:https://www.sharpsightlabs.com/blog/numpy-random-normal/

这个size可大可小,也可以是多维的数组。但是有一个问题,既然返回的数组是随机的,那我每一次得到的都是不同的数组。可是如果我想多次得到相同的数组怎么办?这里就可以用到 np.random.seed() 函数了。

np.random.seed()

np.random.seed() 方法可以接收一个数字作为参数,在每次使用 np.random.normal() 之前加上 np.random.seed(k),只要每次 k 的值相同,就可以得到相同的值。

np.random.randn()

np.random.randn() 是 np.random.normal() 在 loc=0, scale=1 时的特例,只用接收 size 一个参数,例如一下两句代码就是等价的:

np.random.seed(1)
np.random.normal(0, 1, 3)

np.random.seed(1)
np.random.randn(3)
//注意,这里用到了 np.random.seed(),如果不用的话,得到的就是不同的数组了