gpt4 book ai didi

python - 将 2D numpy 数组 reshape 为 3 个具有 x、y 索引的 1D 数组

转载 作者:行者123 更新时间:2023-12-05 03:32:44 26 4
gpt4 key购买 nike

我有一个充满值的 numpy 二维数组 (50x50)。我想将二维数组展平为一列 (2500x1),但这些值的位置非常重要。索引可以转换为空间坐标,因此我需要另外两个 (x,y) (2500x1) 数组,以便检索相应值的 x,y 空间坐标。

例如:

My 2D array: 
--------x-------
[[0.5 0.1 0. 0.] |
[0. 0. 0.2 0.8] y
[0. 0. 0. 0. ]] |

My desired output:
#Values
[[0.5]
[0.1]
[0. ]
[0. ]
[0. ]
[0. ]
[0. ]
[0.2]
...],
#Corresponding x index, where I will retrieve the x spatial coordinate from
[[0]
[1]
[2]
[3]
[4]
[0]
[1]
[2]
...],
#Corresponding y index, where I will retrieve the x spatial coordinate from
[[0]
[0]
[0]
[0]
[1]
[1]
[1]
[1]
...],

关于如何做到这一点的任何线索?我尝试了一些方法,但都没有用。

最佳答案

为了简单起见,让我们用这段代码重现你的数组:

value = np.arange(6).reshape(2, 3)

首先,我们创建变量 x, y,其中包含每个维度的索引:

x = np.arange(value.shape[0])
y = np.arange(value.shape[1])

np.meshgrid 是方法,与您描述的问题相关:

xx, yy = np.meshgrid(x, y, sparse=False)

最后,用这些线将所有元素转换成你想要的形状:

xx = xx.reshape(-1, 1)
yy = yy.reshape(-1, 1)
value = value.reshape(-1, 1)

关于python - 将 2D numpy 数组 reshape 为 3 个具有 x、y 索引的 1D 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70414021/

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