Comment créer un tableau numpy de tout vrai ou tout faux?
En Python, comment créer un tableau numpy de forme arbitraire rempli de tout vrai ou tout faux?
5 réponses
Numpy permet déjà la création de tableaux de tous les uns ou tous les zéros très facilement:
Par exemple numpy.ones((2, 2))
ou numpy.zeros((2, 2))
Puisque True
et False
sont représentés en Python comme 1
et 0
, respectivement, il suffit de spécifier que ce tableau doit être booléen en utilisant le paramètre optionnel dtype
et nous avons terminé.
numpy.ones((2, 2), dtype=bool)
Renvoie:
array([[ True, True],
[ True, True]], dtype=bool)
Mise à jour: 30 octobre 2013
Depuis numpy version 1.8, nous pouvons utiliser full
pour atteindre le même résultat avec une syntaxe qui montre plus clairement notre intention (comme le souligne fmonegaglia):
numpy.full((2, 2), True, dtype=bool)
Mise à jour: 16 janvier 2017
Depuis au moins numpy version 1.12, full
convertit automatiquement les résultats en dtype
du deuxième paramètre, donc nous pouvons simplement écrire:
numpy.full((2, 2), True)
ones
et zeros
, qui créent des tableaux pleins de uns et de zéros respectivement, prennent un paramètre optionnel dtype
:
>>> numpy.ones((2, 2), dtype=bool)
array([[ True, True],
[ True, True]], dtype=bool)
>>> numpy.zeros((2, 2), dtype=bool)
array([[False, False],
[False, False]], dtype=bool)
S'il ne doit pas être accessible en écriture, vous pouvez créer un tel tableau avec np.broadcast_to
:
>>> import numpy as np
>>> np.broadcast_to(True, (2, 5))
array([[ True, True, True, True, True],
[ True, True, True, True, True]], dtype=bool)
Si vous avez besoin d'écriture, vous pouvez également créer un tableau vide et fill
- le vous-même:
>>> arr = np.empty((2, 5), dtype=bool)
>>> arr.fill(1)
>>> arr
array([[ True, True, True, True, True],
[ True, True, True, True, True]], dtype=bool)
Ces approches ne sont que des suggestions alternatives. En général vous devriez rester avec np.full
, np.zeros
ou np.ones
comme le suggèrent les autres réponses.
>>> a = numpy.full((2,4), True, dtype=bool)
>>> a[1][3]
True
>>> a
array([[ True, True, True, True],
[ True, True, True, True]], dtype=bool)
Numpy.plein (taille, valeur scalaire, Type). Il y a aussi d'autres arguments qui peuvent être passés, pour la documentation à ce sujet, Vérifiez https://docs.scipy.org/doc/numpy/reference/generated/numpy.full.html