我使用2d语法索引1d数组。
使用numpy 1.8.0,我得到以下内容:
np.array([1,2,3])[:,[0,1]]
IndexError: too many indices
numpy 1.6.2给出了结果:
np.array([1,2,3])[:,[0,1]]
array([1, 2])
1.8.0表现得“更好”吗?记录行为的变化在哪里?
答案 0 :(得分:1)
Numpy有一些与索引数组相关的错误,很可能1.6.2中的行为在某些情况下实际上已被破坏,导致它被禁用。
说实话,我并不完全确定它在1.6.2中是如何工作的,因为你基本上告诉numpy你想用,
索引第二维。
我建议改为:
numpy.array([1,2,3])[[0,1]]
甚至:
numpy.array([1,2,3]).take([0, 1])