Heim > Backend-Entwicklung > Python-Tutorial > Wie forme ich ein 4D-NumPy-Array in ein 2D-Array um?

Wie forme ich ein 4D-NumPy-Array in ein 2D-Array um?

Patricia Arquette
Freigeben: 2024-11-01 20:12:02
Original
677 Leute haben es durchsucht

How to Reshape a 4D NumPy Array into a 2D Array?

Intuition und Idee hinter der Umformung eines 4D-Arrays in ein 2D-Array in NumPy

Bei der Arbeit mit mehrdimensionalen Daten ist es von entscheidender Bedeutung, zu verstehen, wie Arrays in NumPy umgeformt werden . Während die Reshape-Funktion eine bequeme Möglichkeit bietet, die Form eines Arrays zu ändern, kann es schwierig sein zu verstehen, wie sie auf höherdimensionale Arrays funktioniert.

Allgemeiner Transformationsansatz

Das Transformieren von Arrays zwischen verschiedenen Dimensionsebenen (nd) umfasst zwei wichtige Schritte:

  1. Achsen permutieren: Ordnen Sie die Reihenfolge der Achsen mithilfe von Funktionen wie Transpose, Moveaxis und Rollaxis neu an, um sicherzustellen, dass Die abgeflachte Darstellung des Eingabearrays entspricht der des gewünschten Ausgangs.
  2. Umformen: Ändern Sie die Form des Arrays, um entweder zusätzliche Achsen zu erstellen oder vorhandene Achsen in die endgültige gewünschte Form zusammenzuführen.

Spezifisches Beispiel

Betrachten wir das in der Frage bereitgestellte 4D-Array:

array([[[[ 0,  0],
         [ 0,  0]],

        [[ 5, 10],
         [15, 20]]],


       [[[ 6, 12],
         [18, 24]],

        [[ 7, 14],
         [21, 28]]]])
Nach dem Login kopieren

Um dies in (4,4) umzuformen, Wir können die folgenden Schritte anwenden:

  1. Achsen permutieren: Wir müssen die Achsen (2, 0, 3, 1) austauschen, um die abgeflachte Darstellung auszurichten.
  2. Umformen: Schließlich können wir das permutierte Array in die gewünschte (4,4)-Form umformen.
array.transpose((2, 0, 3, 1)).reshape(4,4)
Nach dem Login kopieren

Ergebnis:

array([[ 0,  5,  0, 10],
       [ 6,  7, 12, 14],
       [ 0, 15,  0, 20],
       [18, 21, 24, 28]])
Nach dem Login kopieren

Back-Tracking-Methode

Das Lösen solcher Transformationen kann mithilfe der Back-Tracking-Methode vereinfacht werden:

  1. Identifizieren Sie die endgültige Form des Ausgabearrays.
  2. Beginnen Sie bei Bedarf mit der Aufteilung des Eingabe-Arrays, damit es mit dem Ergebnis der Ausgabe übereinstimmt.
  3. Bestimmen Sie die Permutierungsreihenfolge, indem Sie die Schrittweite des Ausgabe-Arrays untersuchen und mit der Eingabe vergleichen.
  4. Wenden Sie bei Bedarf eine endgültige Umformung an, um die verbleibenden Achsen zusammenzuführen.

Zusätzliche Beispiele

Weitere Anleitungen zum Umformen usw. finden Sie in der bereitgestellten Liste anderer Beispiele Arrays in NumPy. Das Verständnis dieser Transformationen ist für die effektive Bearbeitung mehrdimensionaler Daten von entscheidender Bedeutung.

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

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage