如何在numpy中对区间[a,B]上的随机浮点数进行采样?不只是整数,而是任何真实的数字。比如说,random_float(5, 10)将返回[5, 10]之间的随机数。谢谢.
random_float(5, 10)
[5, 10]
ngynwnxp1#
uniform distribution可能会做你所要求的。
np.random.uniform(5,10) # A single value np.random.uniform(5,10,[2,3]) # A 2x3 array
xmd2e60i2#
编辑:只使用random.uniform(10, 15)代替如果没有numpy,你可以用random模块来完成。
random.uniform(10, 15)
import random random.random()*5 + 10
将返回10-15范围内的数字,作为函数:
>>> import random >>> def random_float(low, high): ... return random.random()*(high-low) + low ... >>> random_float(5,10) 9.3199502283292208 >>> random_float(5,10) 7.8762002129171185 >>> random_float(5,10) 8.0522023132650808
random.random()返回一个从0到1的浮点数(不包括上限)。乘以一个数字会得到更大的范围。ex random.random()*5返回从0到5的数字。给它加上一个数字就提供了一个下限。random.random()*5 +10返回10到15之间的数字。我不知道你为什么想用numpy来完成这个任务,但也许我误解了你的意图。
random.random()
random.random()*5
random.random()*5 +10
3wabscal3#
import numpy as np >>> 5 + np.random.sample(10) * 5 array([ 7.14292096, 6.84837089, 6.38203972, 8.80365208, 9.06627847, 5.69871186, 6.37734538, 9.60618347, 9.34319843, 8.63550653])
au9on6nz4#
一般语法:
np.random.uniform(range a, rang b, (rows, columns))
举例来说:np.random.uniform(5,10, (3,6))这里的值被填充在数组中:(5是包含性的,10是不包含性的)。
np.random.uniform(5,10, (3,6))
4条答案
按热度按时间ngynwnxp1#
uniform distribution可能会做你所要求的。
xmd2e60i2#
编辑:只使用
random.uniform(10, 15)
代替如果没有numpy,你可以用random模块来完成。
将返回10-15范围内的数字,作为函数:
random.random()
返回一个从0到1的浮点数(不包括上限)。乘以一个数字会得到更大的范围。exrandom.random()*5
返回从0到5的数字。给它加上一个数字就提供了一个下限。random.random()*5 +10
返回10到15之间的数字。我不知道你为什么想用numpy来完成这个任务,但也许我误解了你的意图。3wabscal3#
au9on6nz4#
一般语法:
举例来说:
np.random.uniform(5,10, (3,6))
这里的值被填充在数组中:(5是包含性的,10是不包含性的)。