混合整数和列表索引时的numpy重新排列

时间:2018-04-27 08:47:25

标签: python numpy numpy-slicing

我在numpy中有一个3d数组,我想在其中两个轴上编制索引。对于其中一个轴,我使用简单的整数索引,而在另一个轴上,我使用列表索引。如果我单独应用索引,结果与我在一对括号中应用它们时的结果不同:

import numpy as np
a = np.ones((10, 20, 30))

print(a.shape)
> (10, 20, 30)

# the unexpected result:
print(a[3,:,[1,2]].shape)
> (2, 20)

# the two expected results:
print(a[3][:,[1,2]].shape)
> (20, 2)

print(a[:,:,[1,2]][3].shape)
> (20, 2)

请您解释一下为什么这是预期/期望的行为?对我来说,这看起来不一致。

0 个答案:

没有答案