2009-12-20 19 views
2

Supposons que j'ai trois «feuilles» de matrices a, b et c, chacune ayant la même dimension m n p. Et je veux les combiner pour obtenir une nouvelle matrice m n p * 3 dont l'élément (i, j, k) est (a [i, j, k], b [i, j, k], c [i , j, k]). Quelle commande devrais-je utiliser? La commande dstack ne semble pas fonctionner ici. Merci.Combiner la matrice en numpy

Répondre

2

Je pense que ce que vous voulez est:

np.concatenate([np.expand_dims(x, -1) for x in (a, b, c)], axis=3) 
4

Un autre paquebot serait:

result = numpy.array((a,b,c)).transpose((1,2,3,0)) 

ou une méthode plus auto-descriptif:

result = empty((m,n,p,3)) 
result[:,:,:,0] = a 
result[:,:,:,1] = b 
result[:,:,:,2] = c