2015-02-09 67 views
0

我使用2d语法为1d数组索引。1d数组上的2d索引的numpy版本相关结果

随着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表现得 “更好”?行为变化记录在哪里?

回答

1

Numpy有一些与索引数组相关的bug,很可能1.6.2中的行为实际上在某些情况下被破坏,导致它被禁用。

说实话,我不完全确定1.6.2是如何/为什么会起作用的,因为你基本上告诉numpy你想用,来索引第二维。

我反而建议是:

numpy.array([1,2,3])[[0,1]] 

甚至:

numpy.array([1,2,3]).take([0, 1])