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

Mary-Kate Olsen
Freigeben: 2024-10-31 18:09:46
Original
837 Leute haben es durchsucht

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

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

In NumPy erfordert die Umformung mehrdimensionaler Arrays ein Verständnis der Achsenpermutationen und der Reshape-Funktion. Um ein 4D-Array in ein 2D-Array umzuformen, befolgen wir normalerweise einen dreistufigen Prozess:

  1. Achsen permutieren: Ordnen Sie die Abmessungen des Arrays neu an, um sie an die gewünschte Ausgabeform anzupassen. Dies geschieht mit Funktionen wie Transpose, Moveaxis, Rollaxis oder Swapaxes.
  2. Achsen teilen oder zusammenführen: Passen Sie die Dimensionalität des Arrays an, indem Sie neue Achsen erstellen (aufteilen) oder vorhandene Achsen kombinieren ( Zusammenführen).
  3. Umformen: Verwenden Sie die Umformfunktion, um die Form des Arrays an die gewünschte Ausgabegröße anzupassen.

Beispiel

Betrachten Sie das folgende 4D-Array:

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

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


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

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

Um es in (4,4) umzuformen:

  1. Achsen permutieren: Wir Ich möchte, dass die Achsenreihenfolge (0, 1, 3, 2) ist. Dies kann durch Transponieren erreicht werden:
a = a.transpose((2, 0, 3, 1))
Nach dem Login kopieren
  1. Achsen teilen: Führen Sie keine Teilung durch, da wir bereits die richtige Anzahl an Dimensionen haben.
  2. Umformen: Umformen in die gewünschte Form:
a = a.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

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!