J'ai un tableau (10,) que je veux remodeler en (1,10)
J'ai fait ce qui suit (u étant mon tableau)
import numpy as np u = u.reshape(-1,1).T
mais ça ne marche pas, un conseil?
5 Réponses :
Vous pouvez essayer d'utiliser la méthode expand_dims () .
(1, 10)
Sortie
import numpy as np a = np.zeros(10) # a.shape = (10,) a = np.expand_dims(a, axis=0) print(a.shape)
Ce que vous voulez, c'est:
u = u.reshape((-1, 1)).T
Comme mentionné par Chris dans son commentaire, vous voulez simplement remodeler le tableau en fixant le nombre de lignes à un et laisse Python découvrir l'autre dimension :
u=u.reshape(1, -1)
Une autre astuce dans le livre qui fonctionne est avec np.newaxis
u = u[np.newaxis,:]
Devrait vous donner un tableau avec la forme (1,10) code>
Je pense que @Chris l'a bien mentionné dans le commentaire, vous pouvez essayer
J'ai essayé le scénario
>>> import numpy as np >>> u = np.zeros((10)) >>> u.shape (10,) >>> u.T array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) >>> u = u.reshape(1, -1) >>> u.shape (1, 10) >>> u.T array([[0.], [0.], [0.], [0.], [0.], [0.], [0.], [0.], [0.], [0.]])
Je pense pour votre cas u.reshape (1, -1) ferait votre travail.
Essayez
u.reshape (1, -1)np.expand_dims (u, axis = 0)
Copie possible de Que signifie -1 dans numpy reshape?