问题描述
import numpy as np
a=np.array([[1,2,3],[4,5,6]])
b=np.array([1,2])
目的:b[0]要乘以a[0],b[1]要乘以a[1]
直接相乘,由于形状不一致,会报错:
a*b
错误如下:
ValueError: operands could not be broadcast together with shapes (2,3) (2,)
解决
将b的形状改成(2,1),在乘以a,此时形状符合传播
b=b.reshape(2,1)
res=a*b
print(res)