numpy广播(Broadcast)

定义:广播是numpy对不同形状(shape)的数组进行数值计算的方式,对数组的算术运算通常在相应的元素上进行。

实例1:

import numpyas np

a=np.array([1,2,3])

b=np.array([[1,2,3],[4,5,6]])

print(a+b)

广播的规则:

*让所有输入数组都向形状最长的数组看齐,形状中不足的部分都通过在前面加1补齐。

*输出数组的形状是输入数组形状的各个维度上的最大值

*如果数组的各个维度和输出数组的对应维度的长度相同或者其长度为1时,这个数组能够用来计算,否则出错。

*当输入数组的某个维度的长度为1时,沿着此维度运算时都用此维度上的第一组值。

简单理解:对两个数组,分别比较他们的每一个维度(若其中一个数组没有当前维度则忽略),满足:

数组拥有相同形状。

当前维度的值相等。

当前维度的值有一个是 1

import numpyas np

a=np.array([5])

b=np.array([[0,2,3],[0,0,0]])

print(a+b)

你可能感兴趣的:(numpy广播(Broadcast))