数组的广播需要遵循下面4个原则
1、让所有输入数组都向其中shape最长的数组看齐,shape中不足的部分都通过在前面加1补齐。
2、输出数组的shape是输入数组shape的各个轴上的最大值。
3、如果各个输入数组的对应轴的长度相同或者其长度为1时,这样的数组之间能够用来计算,否则
出错。
4、 当输入数组的某个轴的长度为1时,沿着此轴运算时都用此轴上的第一组值
如下面代码所示,可以满足广播的原则,可以进行数组的加法运算
#创建二维数组 arr1 = np.arange(4).reshape(2,2) print(arr1) print(arr1.shape) #(2, 2) '''[[0 1] [2 3]] (2, 2)''' arr2 = np.array([1,2]) print(arr2) print(arr2.shape) #(2,) '''[1 2] (2,)'''
广播原则的例子如下: