结合numpy数组“元素明智”

时间:2019-01-24 04:49:43

标签: python numpy for-loop matrix-inverse elementwise-operations

目前,我有两个数组:a1的形状为(5,4,6,3),第二个a2的形状为(5,4,6),最后我想要一个合并的数组(5,4, 6,4)

目前,我对每个(6,3)数组进行“循环”处理,然后将其与(6,1)到(6,4)对应地堆叠起来。

for i in range(a1.shape[0]):
    for j in range(a1.shape[1]):
        a = np.hstack((a1[i,j], a2[i,j].reshape(6,1)))

但是,如果它比5 * 4大很多,效率就不高。

您有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

这是您想要的吗?

import numpy as np

a1 = np.ones((5, 4, 6, 3))
a2 = np.ones((5, 4, 6))

result = np.concatenate((a1, a2[..., np.newaxis]), axis=-1)

print(result.shape)

(5, 4, 6, 4)