变量a的形状为(3,1),变量b的形状为(3,100),现在,我想将变量a添加到变量b的一列中,其含义是:
a
b
x[:,ii] = a + b[:,ii]
但是,我收到了以下消息:
could not broadcast input array from shape (3,3) into shape (3,)
我错过了什么?
jucafojl1#
您需要使用numpy.ravel()因为a.shape是(3,1),并且您需要(3,)。
numpy.ravel()
a.shape
(3,1)
(3,)
x[:,ii] = a.ravel() + b[:,ii]
ar7v8xwq2#
由于形状为3 X 1和3 x 100,因此要将第一个矩阵的列和第二个矩阵的行相乘,应相同(例如,矩阵为3 x 1 X 1 x 100时,它将工作)
2条答案
按热度按时间jucafojl1#
您需要使用
numpy.ravel()
因为a.shape
是(3,1)
,并且您需要(3,)
。ar7v8xwq2#
由于形状为3 X 1和3 x 100,因此要将第一个矩阵的列和第二个矩阵的行相乘,应相同(例如,矩阵为3 x 1 X 1 x 100时,它将工作)