[PYTHON] Verstehe die Achse der Numpy

Was ist Achse

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.

Zweidimensionale Array-Achse

Nehmen wir zunächst ein leicht verständliches zweidimensionales Array als Beispiel. In einem zweidimensionalen Array ist ** Zeilenrichtung Achse = 0 und Spaltenrichtung Achse = 1 **.

numpy_axis_2d.png

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

3D-Array-Achse

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 **.

numpy_axis_3d.png

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

Was bedeutet Achse = -1?

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.

Recommended Posts

Verstehe die Achse der Numpy
Über Achse = 0, Achse = 1
Verstehe Word2Vec
NumPy-Achse
Verstehe k-means ++
Base64 verstehen.