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?

War es hilfreich?

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 docs:

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.

Eine Verwandte SO-Frage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top