我可以在指定的索引处获得numpy数组的视图吗?(从"花式索引"看)

Esk*_*kil 18 python numpy

我需要的是一种获得"花式索引"(y = x [[0,5,21]])以返回视图而不是副本的方法.

我有一个数组,但我希望能够使用此数组的子集(由索引列表指定),使得此子集中的更改也放入大数组中的正确位置.如果我只想对前10个元素做一些事情,我可以使用常规切片y = x [0:10].这很有效,因为常规切片会返回一个视图.问题是如果我不想要0:10,而是任意一组索引.

有没有办法做到这一点?

Jos*_*del 15

我认为没有办法解决这个问题.我的理解是'花式索引'将始终返回副本.我能想到的最好的解决方案是操纵y然后使用相同的花哨索引来改变x之后的值:

ii = [0, 5, 21]
y = x[ii]
<manipulate y>
x[ii] = y
Run Code Online (Sandbox Code Playgroud)

  • 你打败了我.我要添加的唯一内容是:http://projects.scipy.org/numpy/ticket/224表示这不太可能改变. (4认同)