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