2010-08-24 12 views
2

Existe-t-il un moyen rapide de numpy d'ajouter le tableau A au tableau B à un emplacement spécifié?Ajout d'un tableau en numpy à un emplacement spécifié

Par exemple, si

B = [ 
    [0, 1, 2], 
    [2, 3, 4], 
    [5, 6, 7] 
] 

et

A = [ 
    [2, 2], 
    [2, 2] 
] 

et je veux ajouter A à B à partir du point (0, 0) pour obtenir

C = [ 
    [2, 3, 2], 
    [4, 5, 4], 
    [5, 6, 7], 
] 

Bien sûr Je peux le faire en étendant le tableau A pour correspondre à la forme de B, puis en utilisant numpy.roll, mais il semble inutilement lent si la taille de A est m uch beaucoup plus petite que la taille de B.

EDIT:

potentiellement avec enroulement autour - de telle sorte que ie rangée inférieure de A est ajouté à la rangée supérieure de B et la rangée supérieure de A est ajouté à la rangée inférieure de B

Répondre

1

Pour modifier B en place

B[:2,:2] += A 

autrement

C = B.copy() 
C[:2,:2] += A 
+0

Great! Y at-il un moyen facile d'ajouter un enveloppement si? B [-2: 2, -2: 2] ne semble rien avoir de significatif = ( –

Questions connexes