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

时间:2010-08-24 12:56:08

标签: python numpy

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

例如,如果

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的底行

1 个答案:

答案 0 :(得分:1)

修改B到位

B[:2,:2] += A

,否则

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