Python 以numpy为单位对某个范围进行随机浮点采样

Python 以numpy为单位对某个范围进行随机浮点采样,python,numpy,scipy,Python,Numpy,Scipy,如何在numpy中的间隔[a,b]上对随机浮点进行采样?不仅仅是整数,还有任何实数。比如说, random\u float(5,10) 将返回介于[5,10]之间的随机数。谢谢。他们可能会按你的要求做 import numpy as np >>> 5 + np.random.sample(10) * 5 array([ 7.14292096, 6.84837089, 6.38203972, 8.80365208, 9.06627847, 5.698711

如何在numpy中的间隔[a,b]上对随机浮点进行采样?不仅仅是整数,还有任何实数。比如说,

random\u float(5,10)

将返回介于
[5,10]
之间的随机数。谢谢。

他们可能会按你的要求做

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]) 
np.random.uniform(5,10) # A single value
np.random.uniform(5,10,[2,3]) # A 2x3 array

如果没有numpy,您可以使用随机模块执行此操作

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()。将其乘以一个数字可以得到更大的范围。ex
random.random()*5
返回从0到5的数字。向其中添加一个数字将提供一个下限
random.random()*5+10
返回从10到15的数字。我不知道你为什么想用numpy来完成这个,但也许我误解了你的意图