2016-11-27 111 views
2

中心是否有使用numpy的插入的另一个小矩阵到中心(或任何其它的x,y的索引),比格尔矩阵或任何SciPy的快速和简单的方式是什么?
也就是说,说我有矩阵插入矩阵到另一个矩阵的在python

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] 

我要插入到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] 

回答

8

您可以使用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