假设我有一个 4x4 numpy 数组:quad = arange(16).reshape(4,4)
,即
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]
[12 13 14 15]]
我想用值改变元素,
[[ 5 7]
[ 9 11]]
到(例如),
[[16 17]
[18 19]]
我最初的猜测是我可以做类似的事情,
quad[[1,3],[1,3]] = np.arange(16,20).reshape(2,2)
但这不起作用,因为quad[[1,3],[1,3]]
实际上产生了对应于 [5,11] 的元素。我发现我可以使用查看适当的元素,quad[[1,3]][:,[1,3]]
但我不能使用它来修改这些值。
是使用for
循环的唯一解决方案吗?