在numpy中,针对两个不同形状的数组进行对应项的加,减,乘,除运算时,会首先尝试采用一种称之为广播的机制,将数组调整为统一的形状,然后再进行运算。...先来看一个最基本的广播的例子
>>> import numpy as np
>>> a = np.array([1, 2, 3])
>>> b = 2
>>> a * b
array([2, 4, 6]...这种将较小数组进行延伸,保持和较大数组同一形状的机制,就称之为广播。...数组的广播是有条件约束的,并不是任意两个不同形状的数组都可以调整成同一形状,其操作逻辑如下
第一步,判断输出结果的数组尺寸,即shape属性,取输入数组的每个轴的最大值
第二步,将shape属性与输出数组不一致的话输入数组进行广播...0, 0, 0, 0],
[1, 1, 1, 1, 1],
[2, 2, 2, 2, 2],
[3, 3, 3, 3, 3]])
>>> b = np.array