NumPy array slice mit Keiner
Frage
Dies hatte mich meinen Kopf kratzen für eine Weile.Ich war unbeabsichtigt schneiden Sie ein array mit Keiner und immer etwas anderes als ein Fehler (ich erwartete ein Fehler).Stattdessen gibt es ein array mit einer zusätzlichen dimension.
>>> import numpy
>>> a = numpy.arange(4).reshape(2,2)
>>> a
array([[0, 1],
[2, 3]])
>>> a[None]
array([[[0, 1],
[2, 3]]])
Ist dieses Verhalten absichtlich oder ein Nebeneffekt?Wenn gewollt, gibt es einige Gründe dafür?
Lösung
Mit Keiner entspricht numpy.newaxis
, also ja, es ist Absicht.In der Tat, Sie sind die gleiche Sache, aber, natürlich, newaxis
Zauber es besser.
Die newaxis-Objekt kann verwendet werden in alle slicing-Operationen zum erstellen einer Achse von der Länge eins.newaxis ist ein alias für 'None', und 'None' kann verwendet werden in Ort, mit dem gleichen Ergebnis.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow