sin numpy puede hacerlo con el módulo aleatorio.
import random
random.random()*5 + 10
volverá números en el rango de 10-15, como una función:
>>> 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()
devuelve un flotador de 0 a 1 (límite superior exclusivo). multiplicándolo por un número le da un rango mayor. ex random.random()*5
devuelve números del 0 al 5. Agregar un número a esto proporciona un límite inferior. random.random()*5 +10
devuelve los números del 10 al 15. No estoy seguro de por qué quieres que esto se haga usando numpy, pero quizás he entendido mal tu intención.
¿Por qué no simplemente usar 'random.uniform'? – DSM
@DSM honestamente, porque no lo sabía –