1
votes

Comment pouvons-nous remplir une matrice avec 1 ou 0 au hasard sur une ligne en python?

J'ai écrit un code pour remplir une matrice avec 0 ou 1 au hasard. Mais cela s'est terminé en 4-5 lignes. Je veux qu'il soit sur 1 ligne.

pop_size = (8,10)
initial_pop = np.empty((pop_size))
for i in range(pop_size[0]):
     for j in range(pop_size[1]):
          initial_pop[i][j] = rd.randint(0,1)


4 commentaires

Pouvez-vous expliquer plus clairement, sans comprendre votre question?


np.random.randint () ? docs.scipy.org/doc/ numpy-1.15.0 / reference / generated /…


Utilisez randint


np.random.randint (2, (8, 10))


5 Réponses :


1
votes

Je comprends que vous utilisez NumPy . Si tel est le cas, la réponse est:

np.random.randint(2, size=pop_size)

Voici l'article de NumPy docs sur cette routine: LIEN . Numpy est bien documenté, la prochaine fois, essayez de vérifier les documents vous-même.

edit: l'argument doit être 2, pas 1


2 commentaires

Avoir 1 ne fonctionnera pas. Doit être 2 pour le premier argument. Sinon, vous obtiendrez des 0 partout.


@hqkhan vous avez raison. C'est incompatible avec random.randint de python dont la limite supérieure est inclusive.



1
votes

En Python standard, essayez:

from random import randint
x = [[randint(0,1) for _ in range(8)] for _ in range(10)]


0 commentaires

1
votes

Utilisez la méthode randint de numpy

matrix = np.random.randint(2, size=pop_size)


0 commentaires

0
votes

Découvrez la réponse sur: Un moyen simple de créer une matrice aléatoire nombres

vous pouvez facilement remplir une matrice en utilisant numPy.

par exemple:

matrice 3x3:

import numpy as np
my_matrix = np.random.randint(2,size=3)

output = ([[0,1,0],
          [0,0,1],
          [1,0,1]])

documentation: https: //docs.scipy.org/doc/numpy/reference/generated/numpy.random.randint.html?highlight=randint#numpy.random.randint


0 commentaires

0
votes

Si vous voulez avoir seulement 1 ou 0 dans votre tableau, vous pouvez le faire en suivant.

    import numpy as np
    np.zeros(2,2) #it will create [2,2] matrix with all zeros
    np.ones(2,2)  #it will create [2,2] matrix with all ones


0 commentaires