16.广播机制
广播机制:
广播允许通用函数以有意义的方式处理异构的输入。也就是让形状不一样的数组在进行运算的时候,能够得到合理的结果。其规则如下:
- 如果所有输入数组的维数都不相同,则会重复在较小数组的形状前面加上“1”,直到所有数组的维数都相同。
- 确保沿特定维度的大小为1的数组的大小与沿该维度的最大形状的数组的大小相同。假定数组元素的值在“广播”数组的该维度上相同。
举例:
arr = np.array([1, 2, 3, 4])
print('arr--')
print(arr)
print('arr1----')
arr1 = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [1, 2, 3, 4]])
print(arr1)
print('arr1+arr=')
print(arr1+arr)
#---------
arr--
[1 2 3 4]
arr1----
[[1 2 3 4]
[5 6 7 8]
[1 2 3 4]]
arr1+arr=
[[ 2 4 6 8]
[ 6 8 10 12]
[ 2 4 6 8]]