【python】np.random.uniform生成随机数、np.ones和 np.empty

1、用法:numpy.random.uniform(low,high,size)

返回:随机生成指定范围的浮点数,从一个均匀分布[low,high)中随机采样,定义域是左闭右开,包含low,不包含high,ndarray类型,其形状与size中描述一致.

参数介绍:   
    low: 采样下界,float类型,默认值为0;
    high: 采样上界,float类型,默认值为1;
    size: 输出样本数目,为 int 或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值。

ndarray类型,表示一个N维数组对象,其有一个shape(表维度大小)和dtype(说明数组数据类型的对象),用zeros和ones函数可以创建数据全0或全1的数组,原型:

>>e = np.random.uniform(-4, 4, 6)
>>f = np.random.uniform(-4, 4, 4)
>>print(e)
>>print(f)
    [ 2.60056202 -0.39751136  3.79597526 -2.07039056  1.09381118 -3.00810278]
    [ 0.31837218 -1.95136013 -1.50040964 -2.36572997]

python中生成随机数的函数还有:

随机整数:random.randint(a,b):返回随机整数x,a<=x<=b

random.randrange(start,stop,[step]):返回一个范围在(start,stop,step)之间的随机整数,不包括结束值。

随机实数:random.random( ):返回0到1之间的浮点数

2、numpy.ones(shape,dtype=None,order='C'),

其中,shape表数组形状(m*n),dtype表类型,order表是以C还是fortran形式存放数据。

>>print('\nnp.ones([2,3])生成的array=\n{}'.format(np.ones([2,3])))
    np.ones([2,3])生成的array=
    [[ 1.  1.  1.]
     [ 1.  1.  1.]]

3、用法:numpy.empty(shape, dtype=float, order='C')

返回:给定shape,dtype 和 order的任意空数组,shape 为整型数据或整型tuple

>>print('\nnp.empty([2,3])生成的array=\n{}'.format(np.empty([2,3])))
>>print('\nnp.empty([2,3],dtype=int)生成的array=\n{}'.format(np.empty([2,3],dtype=int)))
    np.empty([2,3])生成的array=
    [[ 0.  0.  0.]
     [ 0.  0.  0.]]

    np.empty([2,3],dtype=int)生成的array=
    [[ 2300     0     0]
     [  436 65541     0]]

#“//”表示整型数据除法,并对余数采用四舍五入
>>print(249//4)
    62
>>print(245//4)
    61
   
#维度可以直接相加
import numpy as np
images = np.empty([196] + [64,64,64] + [1], dtype=np.float32)
print(images.shape)

ans = (196, 64, 64, 64, 1) 

参考:https://blog.youkuaiyun.com/HHTNAN/article/details/78590780

np.random.uniform() np.random.randint() 是 numpy 库中用于生成随机数的函数,它们的主要区在于生成随机数的分布取值范围。 - np.random.uniform() 生成的是服从均匀分布的随机数,即生成随机数在指定的最小值最大值之间是等概率分布的。它接受最小值最大值作为参数,并可以指定生成随机数的数量。 - np.random.randint() 生成的是服从离散均匀分布的随机整数,即生成随机整数在指定的最小值最大值之间是等概率分布的。它接受最小值最大值作为参数,并可以指定生成随机整数的数量。 具体区别如下: - 参数类型:np.random.uniform() 的参数可以是浮点数,而 np.random.randint() 的参数必须是整数。 - 生成的值类型:np.random.uniform() 生成的是连续的浮点数,而 np.random.randint() 生成的是离散的整数。 - 取值范围:np.random.uniform() 生成随机数可以取到最小值最大值,而 np.random.randint() 生成随机整数只能取到最小值,但不包含最大值。 举个例子,假设要生成一个范围在0到1之间的随机数,可以使用以下代码: ```python import numpy as np uniform_num = np.random.uniform(0, 1) print(uniform_num) ``` 输出: ``` 0.674735336768 ``` 如果要生成一个范围在0到9之间的随机整数,可以使用以下代码: ```python import numpy as np int_num = np.random.randint(0, 10) print(int_num) ``` 输出: ``` 6 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值