Array Casuali
Spesso capita di dover generare un numero casuale o un array di numeri casuali. Fortunatamente, NumPy ha un modulo chiamato random
specificamente per questo scopo.
Le due funzioni più comunemente usate del modulo random
sono:
rand()
;randint()
.
rand()
La funzione numpy.random.rand()
viene utilizzata per generare un numero float
casuale o un array di numeri float casuali da una distribuzione uniforme su [0, 1).
Nota
Le parentesi quadre [ o ] nella notazione degli intervalli indicano che il valore è incluso, mentre le parentesi tonde ( o ) indicano che il valore è escluso. Ad esempio, [0, 1) significa che l'intervallo include 0 ma non 1. Non confondere questa notazione matematica con le parentesi usate nel codice — servono a scopi diversi.
I suoi unici argomenti possibili sono le dimensioni dell'array. Se non viene passato alcun argomento, rand()
genera un numero float
casuale (scalare).
12345678910import numpy as np # Generating a random number random_number = np.random.rand() print(random_number) # Generating a random 1D array with 5 elements random_array = np.random.rand(5) print(random_array) # Generating a random 2D array (matrix) of shape 4x3 random_matrix = np.random.rand(4, 3) print(random_matrix)
Nota
Le dimensioni nella funzione
rand()
devono essere specificate come parametri interi separati, non come una tupla di interi. Ad esempio,rand(4, 3)
è corretto, mentrerand((4, 3))
è errato.
randint()
La funzione numpy.random.randint
viene utilizzata per generare un intero casuale o un array di interi casuali da una
distribuzione uniforme discreta all'interno di un intervallo specificato.
I suoi tre parametri più importanti sono low
(l'unico parametro richiesto), high
e size
. L'intervallo è [low, high)
(da low
inclusivo a high
esclusivo). Tuttavia, se high
non è specificato, allora l'intervallo è [0, low)
.
12345678910111213import numpy as np # Generating a random integer from 0 to 3 exclusive random_integer = np.random.randint(3) print(random_integer) # Generating a 1D array of random integers in [0, 5) with 4 elements random_int_array = np.random.randint(5, size=4) print(random_int_array) # Generating a 1D array of random integers in [2, 5) with 4 elements random_int_array_2 = np.random.randint(2, 5, size=4) print(random_int_array_2) # Generating a random 2D array of random integers in [1, 6) of shape 4x2 random_int_matrix = np.random.randint(1, 6, size=(4, 2)) print(random_int_matrix)
Nota
A differenza di
rand()
, specifichiamo le dimensioni dell'array tramite un singolo parametrosize
, passando un intero o una tupla di interi.
Swipe to start coding
- Crea un array 1D di numeri float casuali da una distribuzione uniforme in [0, 1) con 4 elementi per
random_floats_array
. - Crea un array 2D di numeri float casuali da una distribuzione uniforme in [0, 1) con una forma di 3x2 per
random_floats_matrix
. - Usa la funzione corretta per creare un array 2D di numeri interi casuali per
random_integers_matrix
. - Imposta l'intervallo a [10, 21) (da
10
a21
esclusivo) specificando i primi due argomenti della funzione. - Imposta la forma del
random_integers_matrix
a 3x2 specificando il terzo argomento keyword della funzione.
Soluzione
Grazie per i tuoi commenti!
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione