Dieses Tutorial erklärt, was Achsen in Numpy sind, wie sie bei mehrdimensionalen Arrays funktionieren und wie sie bei verschiedenen Operationen genutzt werden können.
In Numpy sind Achsen nichts anderes als die Dimensionen eines Arrays. Bei einem eindimensionalen Array gibt es nur eine Achse, bei einem zweidimensionalen Array (z.B. eine Matrix) gibt es zwei Achsen: Zeilen und Spalten. Jede Achse wird durch eine Nummer (0, 1, 2, ...) repräsentiert.
Ein eindimensionales Array (1D-Array) hat nur eine Achse. Die einzige Achse, die existiert, ist Achse 0.
import numpy as np
# Ein einfaches eindimensionales Array erstellen
array_1d = np.array([1, 2, 3, 4, 5])
# Visualisierung des Arrays
print("Eindimensionales Array:\n", array_1d)
Ausgabe:
Eindimensionales Array:
[1 2 3 4 5]
In diesem Fall gibt es nur eine Achse (Achse 0), die alle Elemente des Arrays umfasst.
Ein zweidimensionales Array hat zwei Achsen: Achse 0 und Achse 1. Achse 0 ist die Zeilenachse und Achse 1 die Spaltenachse.
# Ein zweidimensionales Array erstellen
array_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# Visualisierung des Arrays
print("Zweidimensionales Array (Matrix):\n", array_2d)
Ausgabe:
Zweidimensionales Array (Matrix):
[[1 2 3]
[4 5 6]
[7 8 9]]
Hier hat das Array zwei Achsen:
Ein dreidimensionales Array hat drei Achsen: Achse 0, Achse 1 und Achse 2. Dies entspricht den Tiefen, Zeilen und Spalten.
# Ein dreidimensionales Array erstellen
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]], [[9, 10], [11, 12]]])
# Visualisierung des Arrays
print("Dreidimensionales Array:\n", array_3d)
Ausgabe:
Dreidimensionales Array:
[[[ 1 2]
[ 3 4]]
[[ 5 6]
[ 7 8]]
[[ 9 10]
[11 12]]]
Hier gibt es drei Achsen:
Achsen in Numpy-Arrays sind besonders wichtig, wenn Operationen wie Summieren, Mittelwertberechnung oder Maximumsuche entlang einer bestimmten Dimension durchgeführt werden sollen. Numpy-Operationen wie sum
, mean
oder max
können mit dem Parameter axis
gesteuert werden, um festzulegen, entlang welcher Achse die Berechnung erfolgt.
# Summe entlang der Zeilen (Achse 0)
summe_achse_0 = np.sum(array_2d, axis=0)
# Summe entlang der Spalten (Achse 1)
summe_achse_1 = np.sum(array_2d, axis=1)
# Visualisierung der Ergebnisse
print("Summe entlang der Zeilen (Achse 0):", summe_achse_0)
print("Summe entlang der Spalten (Achse 1):", summe_achse_1)
Ausgabe:
Summe entlang der Zeilen (Achse 0): [12 15 18]
Summe entlang der Spalten (Achse 1): [ 6 15 24]
# Maximum entlang der Achse 0 (Tiefenachse)
max_achse_0 = np.max(array_3d, axis=0)
# Maximum entlang der Achse 1 (Zeilenachse)
max_achse_1 = np.max(array_3d, axis=1)
# Maximum entlang der Achse 2 (Spaltenachse)
max_achse_2 = np.max(array_3d, axis=2)
# Visualisierung der Ergebnisse
print("Maximum entlang der Achse 0 (Tiefenachse):\n", max_achse_0)
print("Maximum entlang der Achse 1 (Zeilenachse):\n", max_achse_1)
print("Maximum entlang der Achse 2 (Spaltenachse):\n", max_achse_2)
Ausgabe:
Maximum entlang der Achse 0 (Tiefenachse):
[[ 9 10]
[11 12]]
Maximum entlang der Achse 1 (Zeilenachse):
[[ 3 4]
[ 7 8]
[11 12]]
Maximum entlang der Achse 2 (Spaltenachse):
[[ 2 4]
[ 6 8]
[10 12]]