当我执行两个数组 a 和 b 的成对乘法时,我在 numpy 中遇到错误,因为 a 的尺寸为 100 x 200 x 3,而 b 的尺寸为 100 x 200。但是,b 仅包含 0 和 1。如何将 b 的最后一个维度重复 3 次以将 b 变成 100 x 200 x 3 数组?
这类似于 matlab 中的 repmat。我基本上想将 b 的最后一个维度复制三次。我试过 np.tile(b, (1, 1, 3))
,但它产生了错误的维度。
最佳答案
a * b[..., np.newaxis]
在末尾给 b
另一个长度为 1 的轴,广播将为您处理此问题,而无需实际构造三重数组。
关于python - 如何复制 numpy 数组中最后一个维度的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20462542/