Numpy Python

Numpy: Transponieren

Das Transponieren von Matrizen ist eine grundlegende Operation in der linearen Algebra. Dabei werden die Zeilen und Spalten einer Matrix vertauscht. In Numpy ist das Transponieren von Matrizen besonders einfach und kann mit der Methode T oder der Funktion transpose() durchgeführt werden.


3 Minuten Lesezeit
11 Okt 2024
Numpy: Transponieren

Was lerne ich in diesem Kurs?

In diesem Tutorial wird gezeigt, wie Matrizen in Numpy transponiert werden können, beginnend mit einfachen Beispielen und allmählich komplexeren Strukturen.

Numpy-Installation

Falls numpy noch nicht installiert ist, kann es über pip installiert werden:

pip install numpy

Erstellen einer Matrix mit numpy.arange und Transponieren

Zuerst wird eine Matrix mit der Funktion arange erstellt, die eine Reihe von Zahlen generiert und mit reshape in die gewünschte Form gebracht wird.

Beispiel 1: Einfache 2x3-Matrix transponieren

import numpy as np

# Eine 2x3-Matrix erstellen
matrix1 = np.arange(1, 7).reshape(2, 3)

# Visualisierung der Matrix
print("Originale Matrix 1 (2x3):\n", matrix1)

# Transponieren der Matrix
transposed_matrix1 = matrix1.T

# Visualisierung der transponierten Matrix
print("Transponierte Matrix 1 (3x2):\n", transposed_matrix1)

Ausgabe:

Originale Matrix 1 (2x3):
 [[1 2 3]
  [4 5 6]]
Transponierte Matrix 1 (3x2):
 [[1 4]
  [2 5]
  [3 6]]

In diesem Beispiel wird eine 2x3-Matrix erstellt. Nach dem Transponieren werden die Zeilen und Spalten vertauscht, sodass eine 3x2-Matrix entsteht.

Beispiel 2: Eine 3x3-Matrix transponieren

# Eine 3x3-Matrix erstellen
matrix2 = np.arange(1, 10).reshape(3, 3)

# Visualisierung der Matrix
print("Originale Matrix 2 (3x3):\n", matrix2)

# Transponieren der Matrix
transposed_matrix2 = matrix2.T

# Visualisierung der transponierten Matrix
print("Transponierte Matrix 2 (3x3):\n", transposed_matrix2)

Ausgabe:

Originale Matrix 2 (3x3):
 [[1 2 3]
  [4 5 6]
  [7 8 9]]
Transponierte Matrix 2 (3x3):
 [[1 4 7]
  [2 5 8]
  [3 6 9]]

In diesem Beispiel handelt es sich um eine quadratische 3x3-Matrix. Nach dem Transponieren bleibt die Matrix quadratisch, aber die Elemente werden zwischen den Zeilen und Spalten vertauscht.

Transponieren von mehrdimensionalen Arrays

Das Transponieren ist nicht nur auf zweidimensionale Matrizen beschränkt. Auch mehrdimensionale Arrays können transponiert werden.

Beispiel 3: Eine 2x3x2-Mehrdimensionale Matrix transponieren

# Ein 3-dimensionales Array erstellen
matrix3d = np.arange(1, 13).reshape(2, 3, 2)

# Visualisierung des Arrays
print("Originales 3D-Array (2x3x2):\n", matrix3d)

# Transponieren des 3D-Arrays
transposed_matrix3d = np.transpose(matrix3d, axes=(1, 0, 2))

# Visualisierung der transponierten Matrix
print("Transponiertes 3D-Array (3x2x2):\n", transposed_matrix3d)

Ausgabe:

Originales 3D-Array (2x3x2):
 [[[ 1  2]
   [ 3  4]
   [ 5  6]]

  [[ 7  8]
   [ 9 10]
   [11 12]]]

Transponiertes 3D-Array (3x2x2):
 [[[ 1  2]
   [ 7  8]]

  [[ 3  4]
   [ 9 10]]

  [[ 5  6]
   [11 12]]]

In diesem Beispiel wird ein dreidimensionales Array erstellt und transponiert. Durch das Angeben der Achsenreihenfolge in np.transpose wird die Reihenfolge der Dimensionen verändert. Das Ergebnis ist eine Neuanordnung der Dimensionen von (2, 3, 2) auf (3, 2, 2).

Das Transponieren von Vektoren

Auch Vektoren (1D-Arrays) können transponiert werden. Dies führt jedoch oft nicht zu sichtbaren Änderungen, da Vektoren keine eindeutigen Zeilen und Spalten haben.

Beispiel 4: Einen Vektor transponieren

# Einen Vektor (1D-Array) erstellen
vector = np.arange(1, 5)

# Visualisierung des Vektors
print("Originaler Vektor:\n", vector)

# Transponieren des Vektors (1D bleibt unverändert)
transposed_vector = vector.T

# Visualisierung des transponierten Vektors
print("Transponierter Vektor:\n", transposed_vector)

Ausgabe:

Originaler Vektor:
 [1 2 3 4]
Transponierter Vektor:
 [1 2 3 4]

Das Transponieren eines eindimensionalen Arrays (Vektors) ändert die Struktur nicht, da keine zweite Dimension existiert, die vertauscht werden kann.