如何将连续值复制到数组

时间:2013-03-01 18:54:59

标签: arrays numpy replace indexing copy

copyto = zeros(10)
what = ones(3)
where = 2
copyto[where:len(what)+where] = what

有没有办法将较小数组中的所有值复制到特定位置的较大数组中,而不提供上层索引?我认为它的工作方式是

copyto[where:] = what

但是这给了我

ValueError: operands could not be broadcast together with shapes

谢谢!

1 个答案:

答案 0 :(得分:2)

在赋值的左侧和右侧,您必须具有相同形状的数组,以便存在各个元素之间的一对一对应关系。在您的情况下,数组(视图)copyto[where:]有8个元素,而what有3个,因此您的分配定义不明确。 (或者换句话说:没有唯一的方法可以将三个值分配给八个变量,因此分配的定义不明确。)