[英]Numpy array and change value regions
我正在寻找替换数组中的区域,例如,我创建了一个数组b = numpy.zeros((12,12))
。 我想在左上角由[0:1,0:1]
索引的a=numpy.aray([[1,2],[2,3]])
更改其值。
当我指定b[0:1,0:1] = a
出现错误:
"ValueError: output operand requires a reduction, but reduction is not enabled".
做这种事情的方法是什么?
谢谢
使用正确的索引:
>>> b[0:2,0:2] = a
>>> b
array([[ 1., 2., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 2., 3., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
从文档 :
记住切片如何工作的一种方法是将索引视为指向字符之间的指针,第一个字符的左边缘编号为0。然后,由n个字符组成的字符串的最后一个字符的右边缘具有索引n,例如:
+---+---+---+---+---+
| H | e | l | p | A |
+---+---+---+---+---+
0 1 2 3 4 5
-5 -4 -3 -2 -1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.