Konvertieren Sie 3D-Array in 2D-Array in Python

Muhammad Maisam Abbas 12 April 2022 30 März 2021 NumPy NumPy Array
Konvertieren Sie 3D-Array in 2D-Array in Python

In diesem Tutorial wird die Konvertierung eines 3D-Arrays in ein 2D-Array in Python erläutert.

Konvertieren von ein 3D-Array in ein 2D-Array mit der Funktion numpy.reshape() in Python

Die Funktion numpy.reshape() ([numpy.reshape - NumPy v1.20 Manual]) ändert die Form eines Arrays, ohne seine Daten zu ändern. numpy.reshape() gibt ein Array mit den angegebenen Dimensionen zurück. Wenn wir beispielsweise ein 3D-Array mit den Dimensionen (4, 2, 2) haben und es in ein 2D-Array mit den Dimensionen (4, 4) konvertieren möchten.

Das folgende Codebeispiel zeigt, wie wir mit der Funktion numpy.reshape() ein 3D-Array mit den Dimensionen (4, 2, 2) in Python in ein 2D-Array mit den Dimensionen (4, 4) konvertieren können.

import numpy
arr = numpy.array(
    [[[ 0,  1],
      [ 2,  3]],

      [[ 4,  5],
      [ 6,  7]],

      [[ 8,  9],
      [10, 11]],

      [[12, 13],
      [14, 15]]]
      )
newarr = arr.reshape(4,2*2)
print(newarr)

Ausgabe:

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

Im obigen Code initialisieren wir zuerst ein 3D-Array arr mit der Funktion numpy.array() und konvertieren es dann mit der Funktion numpy.reshape() in ein 2D-Array newarr.

Das folgende Codebeispiel zeigt eine andere Möglichkeit, dasselbe zu tun, wenn wir aus irgendeinem Grund die genauen Abmessungen des 3D-Arrays nicht kennen.

import numpy
arr = numpy.array(
    [[[ 0,  1],
      [ 2,  3]],

      [[ 4,  5],
      [ 6,  7]],

      [[ 8,  9],
      [10, 11]],

      [[12, 13],
      [14, 15]]]
      )
newarr = arr.reshape(arr.shape[0], (arr.shape[1]*arr.shape[2]))
print(newarr)

Ausgabe:

[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]

Im obigen Code verwenden wir die Funktion numpy.shape(), um die Abmessungen des newarr anzugeben. Die Funktion numpy.shape() gibt ein Tupel zurück, das die Anzahl der Elemente in jeder Dimension eines Arrays enthält.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Verwandter Artikel - NumPy Array

  • Python NumPy Shift-Array
  • Schreiben NumPy Array in CSV in Python
  • Form und Größe des Arrays in Python