¿Cómo creo una matriz numerosa de todo Verdadero o todo Falso?

Resuelto Michael Currie asked hace 10 años • 7 respuestas

En Python, ¿cómo creo una matriz numerosa de forma arbitraria llena de todo Trueo todo False?

Michael Currie avatar Jan 17 '14 06:01 Michael Currie
Aceptado

La respuesta:

numpy.full((2, 2), True)

Explicación:

numpy crea matrices de todos unos o todos ceros muy fácilmente:

por ejemplo numpy.ones((2, 2))onumpy.zeros((2, 2))

Dado que Truey Falseestán representados en Python como 1y 0, respectivamente, solo tenemos que especificar que esta matriz debe ser booleana usando el dtypeparámetro opcional y listo:

numpy.ones((2, 2), dtype=bool)

devoluciones:

array([[ True,  True],
       [ True,  True]], dtype=bool)

ACTUALIZACIÓN: 30 de octubre de 2013

Desde la versión 1.8 de numpy , podemos usar fullpara lograr el mismo resultado con una sintaxis que muestra más claramente nuestra intención (como señala fmonegaglia):

numpy.full((2, 2), True, dtype=bool)

ACTUALIZACIÓN: 16 de enero de 2017

Desde al menos la versión numpy 1.12 , fullse convierte automáticamente al dtypesegundo parámetro, por lo que podemos simplemente escribir:

numpy.full((2, 2), True)
Michael Currie avatar Jan 16 '2014 23:01 Michael Currie
numpy.full((2,2), True, dtype=bool)
fmonegaglia avatar Feb 05 '2016 12:02 fmonegaglia