Jak używać odpowiednika runif() w pythonie
W języku programowania R możemy użyć funkcji runif() do wygenerowania wektora losowych wartości, który ma rozkład równomierny z określoną wartością minimalną i maksymalną.
Na przykład poniższy kod pokazuje, jak użyć runif() do utworzenia wektora 8 losowych wartości, który ma rozkład równomierny z minimalną wartością 5 i maksymalną wartością 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
Odpowiednikiem funkcji runif() w Pythonie jest funkcja np.random.uniform() , która wykorzystuje następującą podstawową składnię:
np.random.uniform(niski=0, wysoki=1, rozmiar=brak)
Złoto:
- low : Minimalna wartość rozkładu
- high : Maksymalna wartość rozkładu
- rozmiar : wielkość próbki
Poniższy przykład pokazuje, jak w praktyce wykorzystać tę funkcję.
Przykład: użycie odpowiednika runif() w Pythonie
Poniższy kod pokazuje, jak wykorzystać funkcję np.random.uniform() do wygenerowania tablicy losowych wartości, która ma rozkład równomierny z określoną wartością minimalną i maksymalną:
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])
Wynikiem jest tablica NumPy zawierająca 8 wartości wygenerowanych z rozkładu równomiernego o minimalnej wartości 5 i maksymalnej wartości 10.
Możesz także utworzyć histogram za pomocą Matplotlib, aby zwizualizować rozkład normalny wygenerowany przez funkcję 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 ')
Oś x pokazuje wartości rozkładu, a oś y pokazuje częstotliwość każdej wartości.
Zauważ, że oś x przechodzi od 5 do 10, ponieważ są to wartości minimalne i maksymalne, które określiliśmy dla rozkładu.
Uwaga : pełną dokumentację funkcji np.random.uniform() można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:
Jak utworzyć ramkę danych Pandas z losowymi danymi
Jak losowo próbkować wiersze w Pandach
Jak przetasować wiersze w ramce danych Pandas