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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 18:09:46817Durchsuche

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]]]])

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))
  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)

Ergebnis:

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

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!

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