gpt4 book ai didi

python - 如何在 python 中合并不同维度的数组?

转载 作者:太空狗 更新时间:2023-10-30 02:36:46 30 4
gpt4 key购买 nike

我正在使用 keras 分析一些图像表示的数据集。我坚持我有两个不同尺寸的图像。请看快照。特征有 14637 张图像,维度为 (10,10,3),特征 2 维度为 (10,10,100)

enter image description here

有什么方法可以将这两个数据合并/连接在一起。?

最佳答案

如果 features 和 features2 包含同一批图像的特征,即 features[i] 是每个 i 的 features2[i] 的同一图像,那么分组是有意义的使用 numpy 函数 concatenate() 的单个数组中的特征:

newArray = np.concatenate((features, features2), axis=3)

其中 3 是连接数组的轴。在这种情况下,您最终会得到一个维度为 (14637, 10, 10, 103) 的新数组。

但是,如果它们指的是完全不同批处理的图像,并且您想在第一个轴上合并它们,以便将 features2 的 14637 张图像放在第一个 14637 张图像的之后,那么,你不可能得到一个数组,因为 numpy 数组的结构是矩阵,而不是对象列表。

例如,如果您尝试执行:

> a = np.array([[0, 1, 2]]) // shape = (1, 3)
> b = np.array([[0, 1]]) // shape = (1, 2)
> c = np.concatenate((a, b), axis=0)

然后,你会得到:

ValueError: all the input array dimensions except for the concatenation axis must match exactly

因为您沿着 axis = 0 连接,但 axis 1 的尺寸不同。

关于python - 如何在 python 中合并不同维度的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52449207/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com