[PYTHON] Comprendre l'axe de numpy

Qu'est-ce que l'axe

Il est important de bien comprendre l'axe dans numpy qui gère les tableaux multidimensionnels.

Par exemple, considérez numpy.sum (), qui trouve la valeur totale d'un tableau.

Pour un tableau scalaire ou unidimensionnel simple, vous pouvez additionner toutes les valeurs sans considérer l'axe, mais pour un tableau multidimensionnel, vous devez savoir quel axe additionner. il y a.

numpy.sum(a, axis) somme de numpy () spécifie un tableau dans le premier argument a et axis dans le deuxième argument. Les éléments sont additionnés le long de cet axe.

Axe de tableau bidimensionnel

Prenons d'abord un tableau bidimensionnel facile à comprendre comme exemple. Dans un tableau à deux dimensions, ** la direction des lignes est axis = 0 et la direction des colonnes est axis = 1 **.

numpy_axis_2d.png

Z = np.array([[0,1],
              [2,3]])
print("axis=0    ->", sum(Z,0))
print("axis=1    ->", sum(Z,1))

Résultat d'exécution

axis=0    -> [2 4]
axis=1    -> [1 5]

Si rien n'est spécifié pour axis, ce sera la valeur totale (scalaire) de tous les éléments.

Z = np.array([[0,1],
              [2,3]])
print(sum(Z))

Résultat d'exécution

6

Axe du réseau 3D

Ensuite, considérons un tableau en trois dimensions. Dans un tableau en trois dimensions, ** axis = 0 est la direction de la profondeur, axis = 1 est la direction de la ligne et axis = 2 est la direction de la colonne **.

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

Résultat d'exécution

axis=0
[[ 4  6]
 [ 8 10]]
----
axis=1
[[ 2  4]
 [10 12]]
----
axis=2
[[ 1  5]
 [ 9 13]]

Que représente axis = -1

Lorsque axis = -1, il représente ** la dernière direction d'axe **. En d'autres termes, c'est la même chose que axis = 2 pour un tableau à 3 dimensions et axis = 1 pour un tableau à 2 dimensions.

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

Résultat d'exécution

axis=2
[[ 1  5]
 [ 9 13]]
----
axis=-1
[[ 1  5]
 [ 9 13]]

Vous avez le même résultat.

Recommended Posts

Comprendre l'axe de numpy
À propos de l'axe = 0, axe = 1
Comprendre Word2Vec
Axe NumPy
Comprendre k-means ++
Comprenez base64.