2012-08-08 11 views

Odpowiedz

26

Prawdopodobnie zrobię to, o co prosisz.

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

bez numpy można to zrobić za pomocą modułu losowego.

import random 
random.random()*5 + 10 

powróci liczb w zakresie 10-15, jako funkcję:

>>> 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() powraca pływaka od 0 do 1 (górna granica wykluczają). pomnożenie przez liczbę daje jej większy zasięg. ex random.random()*5 zwraca liczby od 0 do 5. Dodanie numeru do tego zapewnia dolną granicę. random.random()*5 +10 zwraca liczby od 10 do 15. Nie jestem pewien, dlaczego chcesz to zrobić za pomocą numpy, ale być może źle zrozumiałem twój zamiar.

+0

Dlaczego po prostu nie użyć 'random.uniform'? – DSM

+0

@ DSM szczerze, ponieważ nie wiedziałem o tym –

Powiązane problemy