如何在NumPy数组中复制最后一个维度的值?

3
当我对两个数组a和b进行成对乘法时,numpy出现错误,因为a的尺寸是100 x 200 x 3,而b的尺寸是100 x 200。然而,b只包含0和1。如何重复最后一个维度3次,将b转换为100 x 200 x 3的数组?
这类似于matlab中的repmat。我基本上想要复制b的最后一个维度。我已经尝试过np.tile(b, (1, 1, 3)),但它产生了错误的维度。
1个回答

4
a * b[..., np.newaxis]

在末尾添加一个长度为1的轴b,通过广播机制,无需实际构造三倍数组即可完成操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接