Python数据科学手册-Numpy数组的计算:广播
广播可以简单理解为用于不同大小数组的二元通用函数(加减乘等)的一组规则
二元运算符是对相应元素逐个计算
广播允许这些二元运算符可以用于不同大小的数组
更高维度的数组
更复杂的情况,对俩个数组的同时广播
a + b
广播可视化
浅色的盒子代表广播的值, ps:额外的内存并没有在实际操作中分配。
## 广播的规则
规则1: 如果俩个数组的维度数不相同,那么小维度数组的形状将会在最左边补1,
规则2: 如果俩个数组的形状在任何一个维度上都不匹配,那么数组的形状会沿着维度为1 的维度开始扩展 ,(维度必须是1开始)直到所有维度都一样, 以匹配另一个数组的形状,
规则3: 如果俩个数组的形状在任何一个维度上都不匹配,并且没有任何一个维度等于1,那么会引发异常
示例1
示例2
俩个数组均需要广播
示例3 ,俩个数组不兼容的示例
如果 a 从右边补1,是不是就可以了,但是这样会导致结果模糊,如果希望右边补全,可以变形数组,
广播的实际应用
数组的归一化
輸出