numpy ValueError:操作数不能与形状(3,4)(3,3)一起广播

时间:2019-07-03 12:23:53

标签: python numpy matrix

我遇到了错误:

  

ValueError:操作数不能与形状(3,4)(3,3)一起广播

z= np.arange(12).reshape(3,4)
m= np.arange(9).reshape(3,3)
z * m

错误:

  

ValueError:操作数不能与形状(3,4)(3,3)一起广播

2 个答案:

答案 0 :(得分:1)

import numpy as np
z= np.arange(12).reshape(3,4)
m= np.arange(9).reshape(3,3)

print(np.dot(m,z))
## [[ 20  23  26  29]
## [ 56  68  80  92]
## [ 92 113 134 155]]

print(np.dot(z.T,m))
##[[ 60  72  84]
##[ 69  84  99]
##[ 78  96 114]
##[ 87 108 129]]

答案 1 :(得分:0)

为了能够将这些矩阵相乘,它们应该在乘法中共享相同的维度:

Z [3x4] * M [3x3]无法评估,因为您在Z矩阵上有四列

要能够对其进行乘法运算,或者构建不同的z矩阵或进行翻译

在此示例中,我在进行乘法运算之前先转换矩阵的维数:Z [4x3] * M [3x3] = ZM [4x3]:

np.dot(z.T, m)