NumPy 广播机制(Broadcasting)

本文详细介绍了Numpy中的广播机制,这是一种高效的数组操作方法。文章解释了如何通过扩展数组维度来实现不同形状数组间的运算,并提供了具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、何为广播机制

  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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值