是否有任何快速而简单的方法可以使用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]
答案 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