在1d数组上进行2d索引的numpy版本依赖结果

时间:2015-02-09 12:06:11

标签: python numpy

我使用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表现得“更好”吗?记录行为的变化在哪里?

1 个答案:

答案 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])