numpy
的 random
是一个非常强大的工具包,信号处理必备。
功能函数非常多,这里只是我使用过的。
numpy.random.rand()
均匀分布
rand
函数根据给定维度生成[0,1)
之间的数据,包含0
,不包含1
dn
表格每个维度- 返回值为指定维度的
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 |