您的位置:首页 > 编程语言 > Python开发

NumPy 广播机制(Broadcasting)

2020-01-31 21:22 218 查看

一、何为广播机制

  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)

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
wwwjjjnnn 发布了43 篇原创文章 · 获赞 0 · 访问量 461 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: