我目前正在尝试将形状(640,1)的数组插入形状(480,640,3)的数组中,以获得481x640的数组,其中第一列只是640个对象的行,其他列是形状(640,3)的数组。
我试过这个:
a=ones((480, 640, 3))
b=zeros(640)
insert(a, 0, b, axis=0)
但我得到的错误:ValueError: could not broadcast input array from shape (1,1,640) into shape (1,640,3)
.
我明白,因为我的数组里面有一个不同的形状比B,但我不知道如何解决这个问题。
祝你有个愉快的一天,谢谢你的反馈。
2条答案
按热度按时间mzaanser1#
你必须将B的大小调整为(640,1)。因此,当你将b插入到a的第一个轴时,
numpy
将广播(640,1)到(640,3)以适应剩余的尺寸。然后,第一个尺寸将从480增加到481。你是这个意思吗?
kxxlusnw2#
要在第一个标注中插入:
输出:
要像在最后一个维度中那样使用
insert
,请使用axis=2
:输出: