python的广播机制(broadcasting)

1.python的广播机制什么?
原理:两个数组的后缘维度相同,或者在其中一方的维度为1。广播在缺失或者长度为1的维度上补充。

2.python的广播机制是做什么用的?
对缺失维度进行补充,可以减小代码量;

3.举例阐述一下python的广播机制。
后缘维度:A为(3,4,5)的三维数据,B为(4,5)的二维数组。由于A和B的后缘维度都为(4,5),所以可以进行广播机制。
同理:A为(3,4)的二维数组,B为(4,)的1为数组,他们的后缘维度都是4,所以可以进行广播。
其中一方维度为1:A为(4,5)的三维数组,B为(4,1)的二维数组,两者维度相同一个维度相同, 其中另外一个维度的其中一方为1,这种情况是可以进行广播的。
写了个小程序验证了下结果:

#验证下广播机制
#维度相同,当其中一个维度相同,两个为维度其中一个为1时,可以进行广播
import numpy as np
a=np.array([[1,2,3],[4,5,6]])#2*3
b=np.array([[1],[3]])#2*1
c=a+b
print(c)

#当A和B的后缘维度相同时,启动广播机制
a=np.array([[[1,2],[2,3],[3,4]],[[2,3],[4,5],[7,8]]])#2*3*2
b=np.array([[6,6],[7,7],[8,8]])#3*2
print(a.shape)
print(b.shape)
c=a+b
print(c)
print(c.shape)#相加后,c的结果是(2,3,2)

参考:
https://www.cnblogs.com/jiaxin359/p/9021726.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值