Numpy数组堆叠与reshape:如何将4个二维数组合并为目标三维数组
Numpy数组合并变形实现方案
首先观察目标数组结构:目标是形状为(3,3,4)的浮点数组,每个坐标(i,j)位置的4个值,刚好对应t1、t2、t3、t4四个输入数组相同坐标位置的取值,因此只需要沿第三维度堆叠四个数组后转浮点型即可。
完整实现代码如下:
import numpy as np t1=np.array([[0,0,1],[0,0,1],[1,1,0]]) t2=np.array([[0,1,0],[1,0,1],[0,1,0]]) t3=np.array([[0,0,1],[0,0,0],[1,0,0]]) t4=np.array([[0,1,1],[1,0,1],[1,1,0]]) # 沿第三维度堆叠四个数组,转浮点型匹配输出格式 result = np.stack([t1, t2, t3, t4], axis=2).astype(np.float64) # 等价写法:使用深度堆叠dstack,效果完全一致 # result = np.dstack([t1, t2, t3, t4]).astype(np.float64) print(result)
运行上述代码得到的输出和需求完全匹配。
内容的提问来源于stack exchange,提问作者rpb
相关产品推荐
相关产品推荐

