在Python中将矩阵插入另一个矩阵的中心

mon*_*rlo 4 python numpy scipy

是否有任何快速而简单的方法使用numpy或scipy将一个小矩阵插入另一个biger矩阵的中心(或任何其他x,y索引)?
也就是说,我说有矩阵

A = [1 2]
    [3 4]
Run Code Online (Sandbox Code Playgroud)

和矩阵

B =   [0 0 0 0 0 0]  
      [0 0 0 0 0 0]  
      [0 0 0 0 0 0]  
      [0 0 0 0 0 0]  
      [0 0 0 0 0 0]  
      [0 0 0 0 0 0]  
Run Code Online (Sandbox Code Playgroud)

我想将A插入B的中心,如下所示:

C =   [0 0 0 0 0 0]  
      [0 0 0 0 0 0]  
      [0 0 1 2 0 0]  
      [0 0 3 4 0 0]  
      [0 0 0 0 0 0]  
      [0 0 0 0 0 0] 
Run Code Online (Sandbox Code Playgroud)

san*_*rey 10

你可以使用numpy的切片表示法.

nb = B.shape[0]
na = A.shape[0]
lower = (nb) // 2 - (na // 2)
upper = (nb // 2) + (na // 2)
B[lower:upper, lower:upper] = A
Run Code Online (Sandbox Code Playgroud)