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

时间:2016-11-27 19:36:31

标签: python numpy scipy

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

A = [1 2]
    [3 4]

和矩阵

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]  

我想将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] 

1 个答案:

答案 0 :(得分:9)

您可以使用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
相关问题