Wie zu glätten Achsen in einem mehrdimensionalen array, ohne dass Kopien in NumPy?
Frage ich mich, ob es einen Weg gibt, Sie zu glätten, ein mehrdimensionales array (d.h., der Typ ndarray
) zusammen gegeben Achsen, ohne dass Kopien in NumPy. Zum Beispiel habe ich ein array von 2D-Bildern, und ich wünschte, Sie zu glätten jeweils zu einem Vektor. Also, eine einfache Möglichkeit, es zu tun ist numpy.array([im.flatten() for im in images])
, aber das erstellt Kopien von jeder.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ravel
es:Oder
reshape
es:Unter den meisten Umständen werden diese beide geben eine Sicht auf das original-array statt einer Kopie.
reshape
hat den trick für mich. Ich dachte vorher es würde brechen die eins-zu-eins-Zuordnung zwischen meine 2D-Matrizen und Vektoren. Aber Nein, es funktionierte!Wenn Sie nicht wissen, die Form Ihres Eingabe-array:
-1
sagt, umzuformen, um die verbleibenden Dimensionen. Dies setzt Voraus, dass Sieplätten wollen die erste Achse der Bilder.