创建数组:
x=array([1,2,3]) y=array([1,2])直接相加,失败(ValueError):
z=x+yValueError:Operands could not be broadcast together with shapes (3)
提示两个数组的shape不符合广播机制
查看x.shape和y.shape分别显示
x.shape(3,)
y.shape(2,)
修改一下
x.shape=(3,1) y.shape=(1,2) z=x+yz=array(
[[2,3],
[3,4],
[4,5]]
)
这样修改也行
x.shape=(1,3) y.shape=(2,1) z=x+yz=array(
[[2,3,4],
[3,4,5]]
)
但是这样修改不行:
ValueError:....................................?
想想为什么?原来违背了广播机制.
通过实例可以发现shape的属性很重要
本文详细解析Python数组操作中广播机制的概念及其在不同形状数组相加时的应用实例,通过具体代码展示如何正确调整数组形状以实现期望的数学运算。
930

被折叠的 条评论
为什么被折叠?



