【发布时间】:2018-12-04 07:39:29
【问题描述】:
我无法找到克隆一维 numpy 数组以创建 3-D 数组的方法。比如说我有
z = np.array([0, 2, 3, 5, 7, 9, 10])
这表示 3-D 空间中的垂直列(例如,假设它以米为单位)。我想创建一个水平维度 (x, y),以便最终数组具有维度 (len(z), len(x), len(y)) ,其中每个 x,y 点的每一列都是相同的。我这样做是为了将空间维度与我拥有的其他 3-D 数据进行匹配。
因此,以数组 z 作为输入,并给定水平维度,例如 ndimx=3,ndimy=2,我想找到一个输出数组的函数
np.array([ [[0, 0], [0, 0], [0, 0]],
[[2, 2], [2, 2], [2, 2]],
[[3, 3], [3, 3], [3, 3]],
[[5, 5], [5, 5], [5, 5]],
[[7, 7], [7, 7], [7, 7]],
[[9, 9], [9, 9], [9, 9]],
[[10, 10], [10, 10], [10, 10]] ])
具有 (7, 3, 2) 的形状。起初这对我来说似乎微不足道,但在尝试了多年的 np.dstack()、np.astype()、np.repeat() 和 ().T 转置之后,我无法获得正确的维度顺序。
这里很关键,垂直列是第一个维度。我敢打赌答案确实是微不足道的,我只是找不到能做到这一点的神奇 numpy 函数。
有什么建议吗?
【问题讨论】: