我们注意到,花哨的索引和切片的混合使用对于多维数组来说是如此令人困惑和未记录在案,例如:
In [114]: x = np.arange(720).reshape((2,3,4,5,6))
In [115]: x[:,:,:,0,[0,1,2,4,5]].shape
Out[115]: (2, 3, 4, 5)
In [116]: x[:,:,0,:,[0,1,2,4,5]].shape
Out[116]: (5, 2, 3, 5)
我在https://numpy.org/doc/stable/user/basics.indexing.html上读过花式索引的用法,我能理解这x[:,0,:,[1,2]] = [x[:,0,:,1], x[:,0,:,2]]
.然而,我不明白为什么上面Input [115]
和Input [116]
的结果不同于on the first dimension.谁能指出这样的广播规则被记录在哪里?
谢谢!
我已经try 在文档中搜索花哨的索引,并在Github上的NumPy repo上发布问题.