gpt4 book ai didi

python - 无法将 3d NumPy 数组 reshape 为 2d NumPy 数组

转载 作者:行者123 更新时间:2023-12-05 06:42:57 25 4
gpt4 key购买 nike

我正在处理图像处理问题,我的数据显示为 3 维 NumPy 数组,其中 (x, y, z) 条目是 (x, y) 像素(数值强度值)图像 z。有 100000 张图片,每张图片大小为 25x25。因此,数据矩阵的大小为 25x25x10000。我正在尝试将其转换为大小为 10000x625 的二维矩阵,其中每一行都是图像中像素的线性化。例如,假设图像是 3x3,我们将有以下内容:

1 2 3
4 5 6 ------> [1, 2, 3, 4, 5, 6, 7, 8, 9]
7 8 9

我试图通过调用 data.reshape((10000, 625)) 来实现这一点,但这样做之后数据不再正确对齐。我曾尝试在有效的整形阶段转置矩阵,但这似乎无法解决问题。

有人知道如何解决这个问题吗?

最佳答案

如果您希望数据对齐,您需要执行 data.reshape((625, 10000))

如果您想要不同的布局,请尝试 np.rollaxis :

data_rolled = np.rollaxis(data, 2, 0) # This is Shape (10000, 25, 25)
data_reshaped = data_rolled.reshape(10000, 625) # Now you can do your reshape.

Numpy 需要您知道在 reshape 过程中哪些元素属于一起,因此只“合并”属于一起的维度。

关于python - 无法将 3d NumPy 数组 reshape 为 2d NumPy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35338566/

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