NumPy广播机制
NumPy广播机制
广播机制主要用于形状不同的数组进行计算
1.维度不同
当两个数组维度不同但是后援维度相同,那么这两个数组可以进行运算
import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([2, 2, 2])
print(arr1+arr2)
arr1的形状是(2,3),arr2的形状是(3),所以他们的后缘维度相同
本质就是将[2,2,2]通过了广播机制变为了[[2,2,2],[2,2,2]]
广播机制会将形状不同的数组变为形状相同的数组
2.维度相同
当两个数组维度相同,但存在某一条轴的维度长度为1,那么这两个数组可以进行运算
import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[1],[1]])
print(arr1+arr2)
本质也是将数组变为[[1,1,1],[1,1,1]]进行运算。