numpy.random — Generazione di numeri casuali¶
Il sottomodulo numpy.random fornisce una classe Generator che estrae campioni dalle distribuzioni di probabilità più comuni. L’algoritmo sottostante è un generatore congruenziale permutato (PCG); consulta https://www.pcg-random.org/ per i dettagli.
Un Generator è un oggetto con stato: ogni chiamata a uno dei suoi metodi di campionamento fa avanzare lo stato interno, in modo che chiamate consecutive restituiscano campioni indipendenti. Gli array di output sono sempre di dtype numpy.float.
Classi¶
- class numpy.random.Generator(seed: int | tuple[int, ...] | None = None)¶
Costruisce un nuovo generatore di numeri pseudo-casuali.
- Parametri:
seed – il seme usato per inizializzare lo stato del generatore. Se viene fornito un intero, viene usato direttamente. Se viene fornita una tupla di interi, viene restituita una tupla di oggetti
Generatorcon semi indipendenti (uno per elemento) invece di una singola istanza. Se viene fornitoNone, viene usato un seme predefinito della piattaforma (quando ne è configurato uno in fase di compilazione); altrimenti viene sollevato unValueError.- Solleva:
TypeError – se seed non è
None, un intero o una tupla di interi.ValueError – se seed è
Nonee non è configurato alcun seme predefinito.
- normal(loc: float = 0.0, scale: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Estrae campioni da una distribuzione normale (gaussiana).
- Parametri:
loc – la media (centro) della distribuzione.
scale – la deviazione standard (ampiezza) della distribuzione. Deve essere non negativa.
size – la forma dell’output. Se è un intero, viene restituito un array monodimensionale di tale lunghezza. Se è una tupla, viene restituito un array di tale forma. Se è
None(il valore predefinito), viene restituito un singolofloatPython.
- Ritorna:
un
floatPython oppure unnumpy.ndarraydi float della forma richiesta.- Solleva:
ValueError – se la forma richiesta supera
ULAB_MAX_DIMS.TypeError – se size non è né
None, né un intero, né una tupla.
I campioni sono generati usando la trasformata di Box-Muller.
- random(size: int | tuple[int, ...] | None = None, *, out: ndarray | None = None) float | ndarray¶
Estrae campioni dalla distribuzione uniforme sull’intervallo semiaperto
[0.0, 1.0).- Parametri:
size – la forma dell’output. Se è un intero, viene restituito un array monodimensionale di tale lunghezza. Se è una tupla, viene restituito un array di tale forma. Se è
None(il valore predefinito) e anche out èNone, viene restituito un singolofloatPython.out – un
numpy.ndarraydi float opzionale, pre-allocato e denso, in cui ricevere i campioni. Se vengono forniti sia size che out, le loro forme devono coincidere.
- Ritorna:
un
floatPython, un nuovonumpy.ndarray, oppure out (riempito con i campioni) a seconda degli argomenti.- Solleva:
TypeError – se size ha un tipo non supportato, oppure out non è un ndarray, oppure out non è di dtype
float.ValueError – se la forma richiesta supera
ULAB_MAX_DIMS, se size eout.shapenon coincidono, oppure se out non è contiguo.
- uniform(low: float = 0.0, high: float = 1.0, size: int | tuple[int, ...] | None = None) float | ndarray¶
Estrae campioni dalla distribuzione uniforme sull’intervallo semiaperto
[low, high).- Parametri:
low – il limite inferiore (incluso) della distribuzione.
high – il limite superiore (escluso) della distribuzione.
size – la forma dell’output. Se è una tupla, viene restituito un array di tale forma. Se è
None(il valore predefinito), viene restituito un singolofloatPython estratto da[0.0, 1.0)(i limiti low/high vengono ignorati nel caso scalare).
- Ritorna:
un
floatPython oppure unnumpy.ndarraydi float della forma richiesta.- Solleva:
ValueError – se la forma richiesta supera
ULAB_MAX_DIMS.TypeError – se size non è né
Nonené una tupla.
Con argomenti predefiniti identici,
uniform()produce la stessa sequenza dirandom().