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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *