sampling random floats on a range in numpy
The uniform distribution would probably do what you are asking.
np.random.uniform(5,10) # A single value
np.random.uniform(5,10,[2,3]) # A 2x3 array
EDIT: just use random.uniform(10, 15)
instead
without numpy you can do this with the random module.
import random
random.random()*5 + 10
will return numbers in the range 10-15, as a function:
>>> 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()
returns a float from 0 to 1 (upper bound exclusive). multiplying it by a number gives it a greater range. ex random.random()*5
returns numbers from 0 to 5. Adding a number to this provides a lower bound. random.random()*5 +10
returns numbers from 10 to 15. I'm not sure why you want this to be done using numpy but perhaps I've misunderstood your intent.