2015-02-09 103 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])