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