Il fonctionne exactement comme il est censé le faire. La transposition d'un 1D tableau est encore un 1D tableau! (Si vous avez l'habitude de matlab, qui, fondamentalement, n'ont pas de concept d'un tableau 1D. Matlab "1D" les tableaux sont en 2D.)
Si vous voulez transformer votre 1D vecteur dans un tableau 2D, puis de transposer, il suffit de le couper en tranches avec np.newaxis
(ou None
, ils sont même, newaxis
est juste plus lisible).
import numpy as np
a = np.array([5,4])[np.newaxis]
print a
print a.T
De façon générale toutefois, vous n'avez pas toujours besoin de s'inquiéter à ce sujet. L'ajout de la dimension supplémentaire est généralement pas ce que vous voulez, si vous êtes juste de le faire sortir de l'habitude. Numpy automatiquement de diffusion 1D matrice au moment de faire les différents calculs. Il n'y a habituellement pas besoin de faire la distinction entre un vecteur ligne et un vecteur colonne (ni de qui sont les vecteurs. Ils sont à la fois en 2D!) quand vous voulez juste un vecteur.