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

Python 在指定位置添加numpy中的数组,python,numpy,Python,Numpy,在numpy中,有没有一种快速方法可以将数组a添加到指定位置的数组B中 例如,如果 B = [ [0, 1, 2], [2, 3, 4], [5, 6, 7] ] 及 我想从点(0,0)开始,把A加到B上,得到 当然,我可以通过扩展数组A以匹配B的形状,然后使用numpy.roll来实现,但是如果A的大小比B的大小小得多,那么速度似乎不必要地慢 编辑: 可能使用环绕-即将A的底行添加到B的顶行,并将A的顶行添加到B的底行以就地修改B B[:2,:2] += A 否则

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

例如,如果

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

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

当然,我可以通过扩展数组A以匹配B的形状,然后使用numpy.roll来实现,但是如果A的大小比B的大小小得多,那么速度似乎不必要地慢

编辑:

可能使用环绕-即将A的底行添加到B的顶行,并将A的顶行添加到B的底行

以就地修改B

B[:2,:2] += A
否则

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

伟大的有没有简单的方法来添加一个环绕?B[-2:2,-2:2]似乎没有做任何有意义的事情=(
B[:2,:2] += A
C = B.copy()
C[:2,:2] += A