NumPy (Broadcast)
是对numpy对不同形状的数组进行计算的方式
import numpy as np
a = np.array([1, 2, 3, 4])
b = np.array([10, 20, 30, 40])
c = a * b
print(c)
打印如下:
[10 40 90 160]
当运算中两个数组形状不同时,numpy将自动触发广播机制
import numpy as np
a = array([ [0, 0, 0],
[10, 10, 10],
[20, 20, 20],
[30, 30, 30] ])
b = array([ 1, 2, 3])
print(a + b)
打印如下:
[ [ 1 2 3]
[11 11 11]
[21 21 21]
[31 31 31] ]
另一种的广播形式
import numpy as np
a = np.array([ [ 0, 0, 0],
[10, 10,10],
[20, 20, 20],
[30, 30, 30] ])
b = np.array([1, 2, 3])
bb = np.tile(b, (4, 1))
print(a + bb)
输出如下:
[ [1 2 3]
[11 12 13]
[21 22 23]
[31 32 33] ]
简单的广播形式