Es ist wichtig, die Achse in Numpy, die mehrdimensionale Arrays verarbeitet, richtig zu verstehen.
Betrachten Sie beispielsweise "numpy.sum ()", das den Gesamtwert eines Arrays ermittelt.
Bei einem einfachen Skalar oder einem eindimensionalen Array können Sie alle Werte ohne Berücksichtigung der Achse summieren. Bei einem mehrdimensionalen Array müssen Sie jedoch wissen, welche Achse summiert werden soll. es gibt.
numpy.sum(a, axis)
Die Summe () von numpy gibt ein Array im ersten Argument a und eine Achse im zweiten Argument an.
Die Elemente werden entlang dieser Achse addiert.
Nehmen wir zunächst ein leicht verständliches zweidimensionales Array als Beispiel. In einem zweidimensionalen Array ist ** Zeilenrichtung Achse = 0 und Spaltenrichtung Achse = 1 **.
Z = np.array([[0,1],
[2,3]])
print("axis=0 ->", sum(Z,0))
print("axis=1 ->", sum(Z,1))
Ausführungsergebnis
axis=0 -> [2 4]
axis=1 -> [1 5]
Wenn für die Achse nichts angegeben ist, ist dies der Gesamtwert (Skalar) aller Elemente.
Z = np.array([[0,1],
[2,3]])
print(sum(Z))
Ausführungsergebnis
6
Als nächstes betrachten wir ein dreidimensionales Array. In einem dreidimensionalen Array ist ** Achse = 0 die Tiefenrichtung, Achse = 1 die Zeilenrichtung und Achse = 2 die Spaltenrichtung **.
Z = np.array([[[0,1],
[2,3]],
[[4,5],
[6,7]]])
print("axis=0")
print(sum(Z,0))
print("----")
print("axis=1")
print(sum(Z,1))
print("----")
print("axis=2")
print(sum(Z,2))
Ausführungsergebnis
axis=0
[[ 4 6]
[ 8 10]]
----
axis=1
[[ 2 4]
[10 12]]
----
axis=2
[[ 1 5]
[ 9 13]]
Wenn Achse = -1 ist, repräsentiert es ** die letzte Achsenrichtung **. Mit anderen Worten, es ist dasselbe wie Achse = 2 für ein dreidimensionales Array und Achse = 1 für ein zweidimensionales Array.
Z = np.array([[[0,1],
[2,3]],
[[4,5],
[6,7]]])
print("axis=2")
print(sum(Z,2))
print("----")
print("axis=-1")
print(sum(Z,-1))
Ausführungsergebnis
axis=2
[[ 1 5]
[ 9 13]]
----
axis=-1
[[ 1 5]
[ 9 13]]
Du hast das gleiche Ergebnis.