numpy 的 random 是一个非常强大的工具包,信号处理必备。
功能函数非常多,这里只是我使用过的。
numpy.random.rand()
均匀分布
rand函数根据给定维度生成[0,1)之间的数据,包含0,不包含1dn表格每个维度- 返回值为指定维度的
array
1 | np.random.rand(4,2) |
numpy.random.randn()
标准正态分布
randn函数返回一个或一组样本,具有标准正态分布。- 标准正态分布又称为u分布,是以
0为均值、以1为标准差的正态分布,记为N(0,1)。
- 标准正态分布又称为u分布,是以
dn表格每个维度- 返回值为指定维度的
array
1 | np.random.randn() # 当没有参数时,返回单个数据 |
numpy.random.randint()
numpy.random.randint(low, high=None, size=None, dtype='l')- 返回随机整数,范围区间为[low,high),包含low,不包含high
- 参数:low为最小值,high为最大值,size为数组维度大小,dtype为数据类型,默认的数据类型是np.int
- high没有填写时,默认生成随机数的范围是[0,low)
1 | np.random.randint(1,size=5) # 返回[0,1)之间的整数,所以只有0 |
numpy.random.normal()
生成可控的高斯分布。
有三个参数(loc, scale, size)
- loc 代表生成的高斯分布的随机数的均值
- scale 方差
- size 输出的size
我想让loc和scale分别为(1, 2)的数组,而输出的是一个(2, 2)的数组。也是可行的。
1 | import numpy as np |