Maison >développement back-end >Tutoriel Python >Pourquoi la transposition d'un tableau NumPy 1D ne change-t-elle pas sa forme ?
Transposer un tableau NumPy 1D : une solution étonnamment simple
De nombreux programmeurs rencontrent de la confusion lorsqu'ils tentent de transposer un tableau NumPy 1D. Examinons le problème et découvrons la solution étonnamment simple.
Dans NumPy, l'opération de transposition désignée par .T permute les dimensions d'un tableau. Cependant, si le tableau est 1D, sa forme reste la même après transposition. Cela peut être déroutant pour ceux qui attendent un tableau 2D.
Pour illustrer, considérons le code suivant :
import numpy as np a = np.array([5, 4]) print(a) print(a.T)
Le résultat sera :
[5 4] [5 4]
Comme vous pouvez le constater, la transposition du tableau 1D a ne produit pas de changement de forme. En effet, la transposition d'un tableau 1D est toujours un tableau 1D.
La solution réside dans la conversion du tableau 1D en tableau 2D avant de le transposer. Ceci peut être réalisé en utilisant la fonction np.newaxis, qui insère essentiellement un nouvel axe dans le tableau :
a = np.array([5, 4])[np.newaxis] print(a) print(a.T)
La sortie devient maintenant :
[[5 4]] [[5] [4]]
Le tableau 1D a a été converti avec succès en tableau 2D et sa transposition produit le résultat souhaité.
Il est important de noter que dans la plupart des cas, il n'est pas nécessaire de le faire manuellement convertir un tableau 1D en tableau 2D pour la transposition. NumPy diffuse automatiquement des tableaux 1D lors de l'exécution de diverses opérations, éliminant ainsi le besoin de se soucier des dimensions.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!