3
votes

Comment remodeler un tableau en Python en utilisant Numpy?

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?


3 commentaires

Essayez u.reshape (1, -1)


np.expand_dims (u, axis = 0)


Copie possible de Que signifie -1 dans numpy reshape?


5 Réponses :


2
votes

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)


0 commentaires

1
votes

Ce que vous voulez, c'est:

u = u.reshape((-1, 1)).T


0 commentaires

3
votes

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)


0 commentaires

0
votes

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>


0 commentaires

3
votes

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.


0 commentaires