2
votes

Comment produire un 0 ou 1 aléatoire avec random.rand

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.


2 commentaires

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


4 Réponses :


5
votes

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


0 commentaires

1
votes

Vous pouvez utiliser numpy.random.random_integers

random_int= np.random.random_integers(0,1)
print (random_int)


0 commentaires

1
votes

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


0 commentaires

1
votes

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


0 commentaires