Skip to main content
 首页 » 编程设计

python之在指定位置添加 numpy 中的数组

2025年05月04日9sxdcgaq8080

在numpy中有没有一种快速的方法可以在指定位置将数组A添加到数组B?

例如,如果

B = [ 
    [0, 1, 2], 
    [2, 3, 4], 
    [5, 6, 7] 
] 

和

A = [ 
    [2, 2], 
    [2, 2] 
] 

我想从点 (0, 0) 开始将 A 加到 B 得到

C = [ 
    [2, 3, 2], 
    [4, 5, 4], 
    [5, 6, 7], 
] 

当然,我可以通过扩展数组 A 来匹配 B 的形状然后使用 numpy.roll 来做到这一点,但如果 A 的大小远小于 B 的大小,这似乎不必要地慢。

编辑:

可能会环绕 - 也就是说,A 的底行被添加到 B 的顶行,A 的顶行被添加到 B 的底行

请您参考如下方法:

就地修改B

B[:2,:2] += A 

否则

C = B.copy() 
C[:2,:2] += A