2015-11-18 29 views
-2

有没有一种方法在numpy中使用另一个数组索引数组。例如,如果我有这个数组:与其他数组索引数组(不使用for循环)

a = [1.0, 2.0, 3.0, 4.0] 

和此阵列

b = [3, 1, 1, 2] 

会不会有编入索引使用B的方式,使得所述新的数组的第0个成分是a的第三成分,新数组的第一个组件是a的第一个组件,依此类推。

换句话说结束了这个

[4.0, 2.0, 2.0, 3.0] 

我知道这很容易用一个for循环做的,但我明确希望避免使用一个,因为我做的有较高维数组和此过程结果是该计划大幅放缓。

+1

你试过a [b]吗?因为它确实如此。 –

+0

如果你明确指定了numpy数组,那么问题就会变得更加清楚:'a = numpy.array([1.0,2.0,3.0,4.0])' –

回答

3

这实际上只是a[b]。 (因为StackOverflow需要30个字符,所以我会发布一个演示,但是我不能从这里运行一个,我不想伪造输出。)

+0

我对高维数组尝试了几次,最后得到了更多的轴然后我开始并假定它只是制作了一组数组。 – user5539410