广播示意图
- 广播的存在允许数组跨纬度进行运算
两个数组相加
# 两个数组相加
x1 = np.array([1,2,3])
x2 = np.array([1,1,1])
print(x1 + x2)
输出:
array([2, 3, 4])
# 数组与标量运算
x1 + 1
输出:
array([2, 3, 4])
行向量列向量相加
# 行向量与列向量相加
a = np.arange(3)
b = np.arange(3)[:,np.newaxis]
# 查看各维度大小
print('a.shape:',a.shape)
print('b.shape:',b.shape)
# 查看值
print(a)
print(b)
# 结果
print(a + b)
输出:
a.shape: (3,) b.shape: (3, 1)[0 1 2] [[0] [1] [2]][[0, 1, 2], [1, 2, 3], [2, 3, 4]]