1
votes

Essayer de joindre deux tableaux de dimensions différentes

J'apprends Python et j'ai 2 tableaux:

ValueError: all the input arrays must have same number of dimensions

quand j'imprime les formes que j'obtiens:

c = np.concatenate((a, b),axis=None) #tried axis=0, axis=1

veut le résultat être:

c = a + b

J'ai essayé

c = [[ 1, 2 , 6]
     [3, 4, 7]]

et

a.shape = (2,2)
b.shape = (2,)

Je reçois des erreurs telles que

a = [[ 1 , 2 ]
      [3,  4]]
b = [ 6,7]


2 commentaires

b doit être b = [6,7] pour commencer.


Alors, avez-vous essayé de corriger le nombre de dimensions? L'un est 2d, l'autre 1d.


3 Réponses :



0
votes

Vous pouvez utiliser numpy.vstack

In [22]: import numpy as np

In [23]: a = np.array([[1,2], [3,4]])

In [24]: b = np.array([6,7])

In [25]: np.vstack((a.T, b)).T
Out[25]:
array([[1, 2, 6],
       [3, 4, 7]])


1 commentaires

@MeeBee: Acceptez la réponse et votez si elle a fonctionné.



0
votes
In [871]: np.concatenate((a, np.reshape(b,(2,1))), axis=1)
Out[871]: 
array([[1, 2, 6],
       [3, 4, 7]])

0 commentaires