文章目录
专栏导读
1、广播机制
NumPy的广播(broadcasting)机制是一种在不同形状的数组之间进行算术运算的机制。在许多情况下,我们需要将不同形状的数组进行算术运算,此时就可以使用广播机制。
广播机制的规则如下:
-
如果两个数组的形状在某个维度上不同,那么在这个维度上形状为1的数组将被扩展为与另一个数组相同的形状。
-
如果两个数组的形状在某个维度上相同或其中一个数组在这个维度上的长度为1,那么这两个数组在这个维度上是兼容的。
-
如果两个数组的形状在所有维度上都是兼容的,那么它们就可以进行广播。
2、一维数组和二维数组的广播
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([1, 2, 3])
c = a + b
print(c)
3、二维数组和三维数组的广播
import numpy as np
a = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
b = np.array([[1, 2], [3, 4]])
c = a + b
print(c)
4、标量和数组的广播
import numpy as np
a = np.array([1, 2, 3])
b = 2
c = a + b
print(c)
5、形状不兼容的数组不能进行广播
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([1, 2])
c = a + b
print(c)