NumPy:是将标量分配给切片广播吗?

时间:2019-08-03 07:09:58

标签: python numpy

我在Python中知道

[1,2,3][0:2]=7 

不起作用,因为右侧必须是可迭代的。

但是,同样的事情也适用于NumPy ndarrays:

a=np.array([1,2,3])
a[0:2]=9
a

这是与广播相同的机制吗?在https://docs.scipy.org/doc/numpy/user/basics.broadcasting.html上,据说广播仅用于算术运算。

1 个答案:

答案 0 :(得分:1)

是的,分配遵循相同的广播规则,因为您还可以将一个数组分配给另一个数组的项目。但是,这要求第二个数组的形状可以广播到目标切片/数组形状。

Assigning values to indexed arrays文档中也提到了这一点:

  

如上所述,可以使用单个索引,切片以及索引和掩码数组来选择要分配给数组的子集。分配给索引数组的值必须是形状一致的(与索引生成的形状相同或可广播)。