Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich ein 4D-NumPy-Array in ein 2D-Array umformen?

Wie kann ich ein 4D-NumPy-Array in ein 2D-Array umformen?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 05:27:29321Durchsuche

How can I reshape a 4D NumPy array into a 2D array?

Intuition und Konzept hinter der Umgestaltung eines 4D-Arrays in ein 2D-Array in NumPy

Die Herausforderung verstehen

Umgestaltung mehrdimensionaler Arrays in NumPy kann schwierig sein, insbesondere wenn es um große Dimensionen wie 4D-Arrays geht. Die Herausforderung besteht darin, zu verstehen, wie man die Achsen des Arrays manipuliert, um die gewünschte Form zu erreichen, ohne die Datenwerte zu ändern.

Allgemeiner Ansatz zur Umformung

Die allgemeine Strategie für Das Umformen von nd-dimensionalen (nd) Arrays umfasst einen zweistufigen Prozess:

  1. Achsen permutieren: Ordnen Sie die Achsen des Arrays neu an, um sie an der gewünschten Form auszurichten. Dies kann mit Funktionen wie numpy.transpose() oder numpy.rollaxis() erreicht werden.
  2. Reshape: Verwenden Sie numpy.reshape(), um die Form des Arrays entweder durch Teilen oder zu ändern Achsen zusammenführen.

Sonderfall: 4D-zu-2D-Umformung

Im gegebenen Beispiel wird das 4D-Eingabearray in ein 2D-Array umgeformt. Unter Verwendung des oben beschriebenen allgemeinen Ansatzes:

  1. Achsen permutieren: Um die Dimensionen auszurichten, werden die Achsen wie folgt neu angeordnet: (2, 0, 3, 1). Dies bedeutet, dass die zweite Dimension zur ersten wird, die erste zur zweiten, die dritte zur dritten und die vierte zur vierten.
  2. Umformen: Bei vertauschten Achsen ist das Array Mit reshape() in die gewünschte (4, 4)-Form umgeformt.

Wichtige Erkenntnis

Die wichtigste Erkenntnis ist, dass der Umformungsprozess das Aufbrechen der In kleinere Blöcke aufteilen und dann in der gewünschten Form wieder zusammensetzen. Durch sorgfältige Manipulation der Achsen und Verwendung geeigneter Umformoperationen können wir mehrdimensionale Arrays effizient transformieren.

Zusätzliche Beispiele

Um die Verallgemeinerbarkeit dieses Ansatzes zu veranschaulichen, betrachten Sie das folgende Beispiel :

Beispiel: 3D-Array zu 2D-Matrix

Betrachten Sie ein 3D-Array mit den Dimensionen (2, 2, 3). Um es in eine 2D-Matrix der Dimension (4, 3) umzuformen, können die Achsen als (1, 0, 2) permutiert und dann wie folgt umgeformt werden:

<code class="python">>>> import numpy as np

>>> arr = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])

>>> permuted = np.transpose(arr, (1, 0, 2))

>>> reshaped = permuted.reshape(4, 3)

>>> print(reshaped)
[[1 2 3]
 [4 5 6]
 [7 8 9]
 [10 11 12]]</code>

Das obige ist der detaillierte Inhalt vonWie kann ich ein 4D-NumPy-Array in ein 2D-Array umformen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn