Hoe het equivalent van runif() in python te gebruiken
In de programmeertaal R kunnen we de functie runif() gebruiken om een vector van willekeurige waarden te genereren die een uniforme verdeling volgt met een specifieke minimum- en maximumwaarde.
De volgende code laat bijvoorbeeld zien hoe je runif() gebruikt om een vector van 8 willekeurige waarden te maken die een uniforme verdeling volgt met een minimumwaarde van 5 en een maximumwaarde van 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
Het equivalent van de functie runif() in Python is de functie np.random.uniform() , die de volgende basissyntaxis gebruikt:
np.random.uniform(laag=0, hoog=1, grootte=Geen)
Goud:
- laag : Minimale waarde van de distributie
- hoog : maximale waarde van de distributie
- grootte : steekproefomvang
Het volgende voorbeeld laat zien hoe u deze functie in de praktijk kunt gebruiken.
Voorbeeld: gebruik van het equivalent van runif() in Python
De volgende code laat zien hoe u de functie np.random.uniform() gebruikt om een array van willekeurige waarden te genereren die een uniforme verdeling volgt met een specifieke minimum- en maximumwaarde:
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])
Het resultaat is een NumPy-array die 8 waarden bevat die zijn gegenereerd op basis van een uniforme verdeling met een minimumwaarde van 5 en een maximumwaarde van 10.
U kunt ook een histogram maken met Matplotlib om een normale verdeling te visualiseren die wordt gegenereerd door de functie 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 ')
De x-as toont de waarden van de verdeling en de y-as toont de frequentie van elke waarde.
Merk op dat de x-as van 5 naar 10 gaat, aangezien dit de minimum- en maximumwaarden zijn die we voor de verdeling hebben gespecificeerd.
Opmerking : u kunt de volledige documentatie voor de functie np.random.uniform() hier vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Hoe u een Pandas DataFrame maakt met willekeurige gegevens
Hoe willekeurig rijen in Panda’s te bemonsteren
Rijen in een Pandas DataFrame in willekeurige volgorde afspelen