广播是numpy对不同形状的数组进行数值计算的方式,对数组的算术运算通常在相应的元素上进行的。如果两个数组a和b形状相同,即满足a.shape==b.shape,那么a*b的结果就是a与b数组对应位相乘。这要求维数相同,且各维度的长度相同。
对于广播规则的另一种简单理解:
- 将两个数组的维度大小右对齐,然后比较对应维度的数值
- 如果数组相等或其中一个为1或者为空,则能进行广播运算
- 输出维度大小为取数值大的数值,否则不能进行数组运算
2 3
1
----------
2 3
数组a大小为(2,3)
数组b大小为(1,)
所以运算之后的大小为:(2,3)