numpy.random.uniform均匀分布
numpy.random.uniform介绍:
- 函数原型: numpy.random.uniform(low,high,size)
功能:从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.
参数介绍:
low: 采样下界,float类型,默认值为0;
high: 采样上界,float类型,默认值为1;
size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出mnk个样本,缺省时输出1个值。
返回值:ndarray类型,其形状和参数size中描述一致。
这里顺便说下ndarray类型,表示一个N维数组对象,其有一个shape(表维度大小)和dtype(说明数组数据类型的对象),使用zeros和ones函数可以创建数据全0或全1的数组,原型:
numpy.ones(shape,dtype=None,order='C'),
其中,shape表数组形状(m*n),dtype表类型,order表是以C还是fortran形式存放数据。
示例:
import numpy as np
a = [np.random.uniform(-1, 1, 5) for i in range(8)]
print(a)
# 执行结果如下
# [array([-0.11224276, -0.2159962 , -0.61927405, 0.44666163, -0.76556514]),
# array([ 0.10680696, 0.44561596, 0.43710825, -0.60971998, -0.27726394]),
# array([ 0.54383451, -0.62850304, 0.38703795, -0.91549777, 0.69625409]),
# array([ 0.45459716, 0.72167316, 0.99970108, -0.303254 , 0.57634916]),
# array([ 0.47526871, -0.08433442, 0.88549562, 0.10087411, -0.5664246 ]),
# array([-0.00981425, 0.73920954, 0.79744141, -0.90721526, 0.33530933]),
# array([-0.6237765 , -0.11507653, 0.8065697 , -0.04284477, -0.68261238]),
# array([ 0.6459242 , 0.75920164, -0.2414012 , -0.73635557, -0.57215887])]
2. 类似uniform,还有以下随机数产生函数:
-
randint: 原型:numpy.random.randint(low, high=None, size=None, dtype=‘l’),产生随机整数;
-
random_integers: 原型: numpy.random.random_integers(low, high=None, size=None),在闭区间上产生随机整数;
-
random_sample: 原型: numpy.random.random_sample(size=None),在[0.0,1.0)上随机采样;
-
random: 原型: numpy.random.random(size=None),和random_sample一样,是random_sample的别名;
-
rand: 原型: numpy.random.rand(d0, d1, …, dn),产生d0 - d1 - … - dn形状的在[0,1)上均匀分布的float型数。
-
randn: 原型:numpy.random.randn(d0,d1,…,dn),产生d0 - d1 - … - dn形状的标准正态分布的float型数。