我刚刚遇到了一个numpy索引行为,我不太理解。看起来numpy根据索引模式改变了我的轴的顺序。不幸的是,我在文档中找不到对以下内容的说明。有人能解释一下发生了什么吗?
# This is expected: dimension 1 is reduced to length 1:
print np.ndarray(shape=(3,3,3,3))[:, [0], :, :].shape
>>> (3, 1, 3, 3)
# This is the unexpected behavior:
print np.ndarray(shape=(3,3,3,3))[:, [0], :, 0].shape
>>> (1, 3, 3)
我本来期望第二个命令得到的结果是(3,1,3)。为什么我从第四维选取一个元素后,前两个维度的形状改变了呢? 非常感谢您提前的帮助!
附注: 我在numpy 1.11.0和python 2.7.11上看到了这个问题。