broadcost

  1. 单元素与数组(向量, 矩阵,或更高维度的矩阵)进行算术运算时, 把该元素与数组每个元素进行算术运算, 返回一个新数组
  2. 向量与向量, 矩阵与矩阵进行算术运算时,其形状必须相同
  3. 向量与矩阵继续算术运算时, 向量的长度必须与矩阵的某一个维度相等
  4. 上述所说的运算中,维度较大的一个必须是numpy的ndarray对象, broadcost操作是由ndarray支持的
In [1]:
import numpy as np
In [4]:
a = np.arange(1, 10)
print(a)
print(a+1)
[1 2 3 4 5 6 7 8 9]
[ 2  3  4  5  6  7  8  9 10]
In [6]:
a = np.array([(10,20,30),
              (40,50,60),
              (70,80,90)])
print(a + 1)     # 逐元素相加
[[11 21 31]
 [41 51 61]
 [71 81 91]]
In [12]:
v = [1,2,3]   # 行向量
print(a + v)  # 逐行相加
[[11 22 33]
 [41 52 63]
 [71 82 93]]
In [16]:
v = [[1],[2],[3]]  # 列向量
print(a + v)       # 逐列相加
[[11 21 31]
 [42 52 62]
 [73 83 93]]