J'essaye de produire un 0 ou 1 avec le random.rand de numpy.
np.random.rand () produit un flottant aléatoire entre 0 et 1 mais pas seulement un 0 ou un 1.
Merci.
4 Réponses :
Vous pouvez utiliser np. random.choice avec une liste de [0,1] , ou utilisez np.random.radint avec une plage de 0,2
In [1]: import numpy as np In [2]: np.random.choice([0,1]) Out[2]: 0 In [5]: np.random.choice([0,1]) Out[5]: 1 In [8]: np.random.randint(2) Out[8]: 0 In [9]: np.random.randint(2) Out[9]: 1
Vous pouvez également utiliser le module random pour l'équivalent de ces fonctions
Vous pouvez utiliser numpy.random.random_integers
random_int= np.random.random_integers(0,1) print (random_int)
Vous pouvez utiliser np.random.randint (low, high = None, size = None) .
>>> np.random.randint(0,2,10) array([0, 1, 1, 0, 1, 1, 0, 0, 1, 0]) >>> np.random.randint(2) 0 >>> np.random.randint(2) 1
Pour plus de détails, vous pouvez vous référer à https://docs.scipy.org/doc/numpy/reference/generated/numpy.random.randint.html
Vous devriez envisager d'utiliser np.random.randint () Cette fonction prend une plage comme entrée.
Par exemple,
>>> np.random.randint(2)
Cela vous donnera une sortie de 0 ou 1
Vous pouvez
arrondir.vous pouvez également éviter complètement numpy si vous avez juste besoin de générer 1 sortie aléatoire. il y a le module aléatoire pour cela avec randint