合并 numpy 数组 "element-wise"
combine numpy array "element-wise"
目前我有两个数组:a1 的形状是 (5,4,6,3),第二个 a2 是 (5,4,6) 最后我想得到一个合并的数组 (5, 4,6,4)
目前我 "for-loop" 每个 (6,3) 数组和 np.stack 它与对应的 (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 大很多,它就不是很有效了。
你有更好的方法吗?
这是你想要的吗?
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)
目前我有两个数组:a1 的形状是 (5,4,6,3),第二个 a2 是 (5,4,6) 最后我想得到一个合并的数组 (5, 4,6,4)
目前我 "for-loop" 每个 (6,3) 数组和 np.stack 它与对应的 (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 大很多,它就不是很有效了。
你有更好的方法吗?
这是你想要的吗?
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)