random.random() возвращает float от 0 до 1 (исключение верхней границы). умножая его на число, дает ему больший диапазон. ex random.random()*5 возвращает числа от 0 до 5. Добавление числа к этому обеспечивает нижнюю границу. random.random()*5 +10 возвращает числа от 10 до 15. Я не уверен, почему вы хотите, чтобы это было сделано с использованием numpy, но, возможно, я неправильно понял ваши намерения.