Come utilizzare l'equivalente di runif() in python


Nel linguaggio di programmazione R possiamo utilizzare la funzione runif() per generare un vettore di valori casuali che segue una distribuzione uniforme con un valore minimo e massimo specifici.

Ad esempio, il codice seguente mostra come utilizzare runif() per creare un vettore di 8 valori casuali che segue una distribuzione uniforme con un valore minimo di 5 e un valore massimo di 10:

 #make this example reproducible
set. seeds (1)

#generate vector of 8 values that follow uniform distribution with min=5 and max=10
runif(n=8, min=5, max=10)

[1] 6.327543 6.860619 7.864267 9.541039 6.008410 9.491948 9.723376 8.303989

L’equivalente della funzione runif() in Python è la funzione np.random.uniform() , che utilizza la seguente sintassi di base:

np.random.uniform(basso=0, alto=1, dimensione=Nessuno)

Oro:

  • basso : valore minimo della distribuzione
  • high : valore massimo della distribuzione
  • dimensione : dimensione del campione

L’esempio seguente mostra come utilizzare questa funzione nella pratica.

Esempio: utilizzare l’equivalente di runif() in Python

Il codice seguente mostra come utilizzare la funzione np.random.uniform() per generare un array di valori casuali che segue una distribuzione uniforme con un valore minimo e massimo specifici:

 import numpy as np

#make this example reproducible
n.p. random . seeds (1)

#generate array of 8 values that follow uniform distribution with min=5 and max=10
n.p. random . uniform (low= 5 , high= 10 , size= 8 )

array([7.08511002, 8.60162247, 5.00057187, 6.51166286, 5.73377945,
       5.46169297, 5.93130106, 6.72780364])

Il risultato è un array NumPy che contiene 8 valori generati da una distribuzione uniforme con un valore minimo di 5 e un valore massimo di 10.

Puoi anche creare un istogramma utilizzando Matplotlib per visualizzare una distribuzione normale generata dalla funzione np.random.uniform() :

 import numpy as np
import matplotlib. pyplot as plt

#make this example reproducible
n.p. random . seeds (1)

#generate array of 200 values that follow uniform distribution with min=5 and max=10
data = np. random . uniform (low= 5 , high= 10 , size= 200 )

#create histogram to visualize distribution of values
plt. hist (data, bins= 30 , edgecolor=' black ')

L’asse x mostra i valori della distribuzione e l’asse y mostra la frequenza di ciascun valore.

Si noti che l’asse x va da 5 a 10 poiché questi sono i valori minimo e massimo che abbiamo specificato per la distribuzione.

Nota : puoi trovare la documentazione completa per la funzione np.random.uniform() qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come creare un Pandas DataFrame con dati casuali
Come campionare casualmente le righe in Pandas
Come mescolare le righe in un DataFrame Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *