NumPy 广播机制(Broadcasting)

一、何为广播机制

  a、广播机制是Numpy(开源数值计算工具,用于处理大型矩阵)里一种向量化数组操作方法。

  b、Numpy的通用函数(Universal functions) 中要求输入的两个数组shape是一致的,当数组的shape不想等的时候,则会使用广播机制,调整数组使得两个shape一致,满足规则,则可以运算,否则就出错。 

二、遵守哪些规则

  a、如果数组的秩不同,将秩较小的数组进行扩展,直到两个数组的尺寸长度都一样。

  b、如果两个数组在某个维度上的长度是相同的,或者其中一个数组在该维度上的长度为1,那么我们就说这两个数组在该维度上是相容的。

  c、如果两个数组在所有维度上都是相容的,它们就能使用广播。

  d、广播之后,两个数组的尺寸将和较大的数组尺寸一样。

  e、在任何一个维度上,如果一个数组的长度为1,另一个数组长度大于1,那么在该维度上,就好像是对第一个数组进行了复制。

三、代码 (python 3.6)

1 import numpy as np
2 
3 # 矩阵x的每一行加上向量y, 将结果保存在矩阵result中
4 x = np.array([[1,2,3], [4,5,6], [7,8,9], [10,11,12]])
5 y = np.array([0, 1, 0])
6 # 使用广播机制将y加到矩阵x的每一行上
7 result = x + y
8 print(result)
原文地址:https://www.cnblogs.com/wjunneng/p/9096360.html