在Numpy中合并两个相同形状数组的最简洁方法

时间:2013-06-12 15:02:34

标签: python multidimensional-array numpy

我们有一些形状相同的数组,想要合并它们。

通过“merge”,我的意思是在每个位置的每个数组中输出一个新数组,其中每个i,j的总和。

import numpy as np
first = np.array([[1,1],[1,1]])
second = np.array([[2,2],[2,2]])
third = np.array([[3,3],[3,3]])

结果应为:

[[6,6],
[6,6]]

这是我的代码......但是有更干净的方式吗?我似乎无法找到内置方法:

def merge_arrays(arrays):
    output = arrays[0]
    for a in arrays[1:]:
        for i,row in enumerate(a):
            for j,col in enumerate(row):
                output[i,j] += a[i,j]
    return output

merge_arrays([first, second, third])

1 个答案:

答案 0 :(得分:4)

只是output = first + second + thirdnp.sum([first, second, third], axis=0)