Numeri casuali in NumPy

Cos'è un numero casuale?

Un numero casuale non significa che ci siano numeri diversi ogni volta. Casuale significa qualcosa che non può essere predetto logicamente.

Casuale e reale

Il computer lavora su programmi, i programmi sono un set di istruzioni autorizzate. Pertanto, significa che deve esistere un algoritmo per generare numeri casuali.

Se esiste un programma per generare numeri casuali, può essere predetto, quindi non è un numero casuale reale.

I numeri casuali generati da un algoritmo di generazione sono chiamati numeri casuali pseudo-casuali.

Possiamo generare numeri casuali reali?

Sì. Per generare un numero casuale reale sul nostro computer, dobbiamo ottenere dati casuali da una fonte esterna. La fonte esterna è solitamente le nostre pressioni di tastiera, il movimento del mouse, i dati di rete, ecc.

Non abbiamo bisogno di numeri casuali reali, a meno che non siano correlati alla sicurezza (ad esempio, chiavi di crittografia) o che l'applicazione si basi sulla casualità (ad esempio, ruota della fortuna digitale).

In questo tutorial, utilizzeremo numeri casuali pseudo-casuali.

Generare numeri casuali

NumPy fornisce il modulo random per gestire i numeri casuali.

Esempio

Generare un numero casuale intero tra 0 e 100:

from numpy import random
x = random.randint(100)
print(x)

Esegui esempio

Generare numeri casuali a virgola mobile

Il modulo random rand() Il metodo restituisce un numero casuale a virgola mobile tra 0 e 1.

Esempio

Generare un numero casuale a virgola mobile tra 0 e 100:

from numpy import random
x = random.rand()
print(x)

Esegui esempio

Generare array casuali

In NumPy, possiamo utilizzare i due metodi dell'esempio precedente per creare array casuali.

intero

randint() Il metodo accetta size Parametro, in cui puoi specificare la forma dell'array.

Esempio

Genera un array 1-D contenente 5 numeri casuali tra 0 e 100:

from numpy import random
x=random.randint(100, size=(5))
print(x)

Esegui esempio

Esempio

Genera un array 2-D con 3 righe, ognuna con 5 numeri casuali tra 0 e 100:

from numpy import random
x = random.randint(100, size=(3, 5))
print(x)

Esegui esempio

Numero a virgola mobile

rand() Il metodo ti permette anche di specificare la forma dell'array.

Esempio

Genera un array 1-D contenente 5 numeri casuali:

from numpy import random
x = random.rand(5)
print(x)

Esegui esempio

Esempio

Genera un array 2-D con 3 righe, ognuna con 5 numeri casuali:

from numpy import random
x = random.rand(3, 5)
print(x)

Esegui esempio

Genera numeri casuali da un array

choice() Il metodo ti permette di generare valori casuali basati su un array di valori.

choice() Il metodo accetta un array come parametro e restituisce uno dei valori.

Esempio

Restituisce uno dei valori dell'array:

from numpy import random
x = random.choice([3, 5, 7, 9])
print(x)

Esegui esempio

choice() Il metodo ti permette anche di restituire un array di valori.

Aggiungi un size I parametri specificano la forma dell'array.

Esempio

Genera un array bidimensionale composto dai valori dell'array parametrico (3, 5, 7 e 9):

from numpy import random
x = random.choice([3, 5, 7, 9], size=(3, 5))
print(x)

Esegui esempio