在numpy中,针对两个不同形状的数组进行对应项的加,减,乘,除运算时,会首先尝试采用一种称之为广播的机制,将数组调整为统一的形状,然后再进行运算。...)
上述代码进行矩阵加法运算,numpy在处理时,首先将数组b延伸成为和数组a长度相同的一个数组,示意如下
?...数组的广播是有条件约束的,并不是任意两个不同形状的数组都可以调整成同一形状,其操作逻辑如下
第一步,判断输出结果的数组尺寸,即shape属性,取输入数组的每个轴的最大值
第二步,将shape属性与输出数组不一致的话输入数组进行广播...np.arange(3)
>>> a + b
array([[ 0, 1, 2],
[10, 11, 12],
[20, 21, 22],
[30, 31, 32]])
广播机制的示意图如下...,在处理数组按位运算时,可以使得代码更加简洁,同时相比循环处理,提高了运算速度。