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 npa=np.array([[1,2,3],[4,5,6]])#2*3b=np.array([[1],[3]])#2*1c=a+bprint(c)#当A和B的后缘维度相同时,启动广播机制a=np.array([[[1,2],[2,3],[3,4]],[[2,3],[4,5],[7,8]]])#2*3*2b=np.array([[6,6],[7,7],[8,8]])#3*2print(a.shape)print(b.shape)c=a+bprint(c)print(c.shape)#相加后,c的结果是(2,3,2)
参考:
/jiaxin359/p/9021726.html