Wie erstelle ich in Python ein numpy-Array beliebiger Form, das mit allen Wahren oder allen Falschen gefüllt ist?
193
Mit numpy können bereits sehr einfach Arrays mit allen Einsen oder Nullen erstellt werden:
zB numpy.ones((2, 2))
odernumpy.zeros((2, 2))
Da True
und False
sind in Python dargestellt , wie 1
und 0
jeweils haben wir nur dieses Array angeben sollte boolean die optional mit dtype
Parametern und wir sind fertig.
numpy.ones((2, 2), dtype=bool)
kehrt zurück:
array([[ True, True],
[ True, True]], dtype=bool)
UPDATE: 30. Oktober 2013
Seit numpy Version 1.8 können wir full
das gleiche Ergebnis mit einer Syntax erzielen, die unsere Absicht deutlicher zeigt (wie fmonegaglia hervorhebt):
numpy.full((2, 2), True, dtype=bool)
UPDATE: 16. Januar 2017
Da mindestens numpy Version 1.12 , full
wirft automatisch Ergebnisse der dtype
von dem zweiten Parameter, so können wir nur schreiben:
numpy.full((2, 2), True)
a=np.ones((2,2))
gefolgt vona.dtype=bool
NICHT funktioniert.quelle
ones
undzeros
Antworten bilden kein Array von ganzen Zahlen. Sie bauen direkt eine Reihe von Bools.numpy.full((2,2), True)
ein Äquivalent?int 1
zu konvertierenbool True
.ones
undzeros
, die Arrays voller Einsen bzw. Nullen erstellen, nehmen einen optionalendtype
Parameter an:quelle
Wenn es nicht beschreibbar sein muss, können Sie ein solches Array erstellen mit
np.broadcast_to
:Wenn Sie es beschreibbar benötigen, können Sie auch ein leeres Array erstellen und
fill
es selbst:Diese Ansätze sind nur alternative Vorschläge. Im Allgemeinen sollten Sie dabei bleiben
np.full
,np.zeros
odernp.ones
wie die anderen Antworten vorschlagen.quelle
Schnell lief eine Zeit, um zu sehen, ob es Unterschiede zwischen der
np.full
undnp.ones
Version gibt.Antwort: Nein
Ergebnis:
WICHTIG
In Bezug auf den Beitrag über
np.empty
(und ich kann nicht kommentieren, da mein Ruf zu niedrig ist):TUN SIE DAS NICHT. NICHT VERWENDEN
np.empty
, um ein All-True
Array zu initialisierenDa das Array leer ist, wird der Speicher nicht geschrieben und es gibt keine Garantie dafür, wie hoch Ihre Werte sein werden, z
quelle
numpy.full (Größe, Skalarwert, Typ). Es gibt auch andere Argumente, die übergeben werden können. Eine Dokumentation hierzu finden Sie unter https://docs.scipy.org/doc/numpy/reference/generated/numpy.full.html
quelle
np.full
- vor mehr als einem Jahr!