python - 合并多个numpy数组

标签 python arrays numpy

我有 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/

相关文章:

python - pyqtgraph编译为可执行文件失败

python - Numpy ValueError 将元组列表广播到数组中

python - 为什么代码运行如此之慢以至于我在其中使用了 for 循环。有没有更快的方法?

python - greenthread 是如何调度的?

arrays - 在 Swift3 中比较两个不同的结构化数组

C: 函数不返回完整字符串

python - numpy python 3.4.1 安装 : Python 3. 4 在注册表中找不到

python - 打印列表中给定字典键的所有值

Python:根据具有第 3 维索引的相应数组将 2D 数组拉伸(stretch)为 3D

javascript - AngularJS 将字符串数组转换为 float 组