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