代码之家  ›  专栏  ›  技术社区  ›  George Karpenkov

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

  •  2
  • George Karpenkov  · 技术社区  · 15 年前

    在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.滚动,但是如果A的大小比B的小得多,那么它就显得不必要的慢。

    编辑:

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

    1 回复  |  直到 15 年前
        1
  •  1
  •   John La Rooy    15 年前

    就地修改B

    B[:2,:2] += A
    

    否则

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