我有 3 个 numpy 数组,用于存储形状为 (4,100,100) 的图像数据。
arr1= np.load(r'C:\Users\x\Desktop\py\output\a1.npy')
arr2= np.load(r'C:\Users\x\Desktop\py\output\a2.npy')
arr3= np.load(r'C:\Users\x\Desktop\py\output\a3.npy')
我想将所有 3 个数组合并为 1 个数组。 我试过这样:
merg_arr = np.zeros((len(arr1)+len(arr2)+len(arr3), 4,100,100), dtype=input_img.dtype)
现在这生成了一个所需长度的数组,但我不知道如何复制该数组中的所有数据。可能正在使用循环?
最佳答案
这样就可以了:
merge_arr = np.concatenate([arr1, arr2, arr3], axis=0)
np.stack
沿新维度排列数组。它们的尺寸(第一个除外)需要匹配。
演示:
arr1 = np.empty((60, 4, 10, 10))
arr2 = np.empty((14, 4, 10, 10))
arr3 = np.empty((6, 4, 10, 10))
merge_arr = np.concatenate([arr1, arr2, arr3], axis=0)
print(merge_arr.shape) # (80, 4, 10, 10)
关于python - 合并多个numpy数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43847712/