Comment utiliser l’équivalent de runif() en Python



Dans le langage de programmation R, nous pouvons utiliser la fonction runif() pour générer un vecteur de valeurs aléatoires qui suivent une distribution uniforme avec une valeur minimale et maximale spécifique.

Par exemple, le code suivant montre comment utiliser runif() pour créer un vecteur de 8 valeurs aléatoires qui suivent une distribution uniforme avec une valeur minimale de 5 et une valeur maximale de 10 :

#make this example reproducible
set.seed(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’équivalent de la fonction runif() en Python est la fonction np.random.uniform() , qui utilise la syntaxe de base suivante :

np.random.uniform(low=0, high=1, size=Aucun)

où:

  • low : Valeur minimale de la distribution
  • high : Valeur maximale de la distribution
  • taille : taille de l’échantillon

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : utilisation de l’équivalent de runif() en Python

Le code suivant montre comment utiliser la fonction np.random.uniform() pour générer un tableau de valeurs aléatoires qui suivent une distribution uniforme avec une valeur minimale et maximale spécifique :

import numpy as np

#make this example reproducible
np.random.seed(1)

#generate array of 8 values that follow uniform distribution with min=5 and max=10
np.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])

Le résultat est un tableau NumPy qui contient 8 valeurs générées à partir d’une distribution uniforme avec une valeur minimale de 5 et une valeur maximale de 10.

Vous pouvez également créer un histogramme à l’aide de Matplotlib pour visualiser une distribution normale générée par la fonction np.random.uniform() :

import numpy as np
import matplotlib.pyplot as plt

#make this example reproducible
np.random.seed(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’axe des x montre les valeurs de la distribution et l’axe des y montre la fréquence de chaque valeur.

Notez que l’axe des X va de 5 à 10 puisqu’il s’agit des valeurs minimales et maximales que nous avons spécifiées pour la distribution.

Remarque : Vous pouvez trouver la documentation complète de la fonction np.random.uniform() ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans les pandas :

Comment créer un DataFrame Pandas avec des données aléatoires
Comment échantillonner aléatoirement des lignes dans Pandas
Comment mélanger les lignes dans un DataFrame Pandas

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *