numpy Python:为什么我不能把一个3x1数组加到3x100数组的一列上?

cetgtptt  于 2023-02-08  发布在  Python
关注(0)|答案(2)|浏览(123)

变量a的形状为(3,1),变量b的形状为(3,100),现在,我想将变量a添加到变量b的一列中,其含义是:

x[:,ii] = a + b[:,ii]

但是,我收到了以下消息:

could not broadcast input array from shape (3,3) into shape (3,)

我错过了什么?

jucafojl

jucafojl1#

您需要使用numpy.ravel()因为a.shape(3,1),并且您需要(3,)

x[:,ii] = a.ravel() + b[:,ii]
ar7v8xwq

ar7v8xwq2#

由于形状为3 X 1和3 x 100,因此要将第一个矩阵的列和第二个矩阵的行相乘,应相同(例如,矩阵为3 x 1 X 1 x 100时,它将工作)

相关问题