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