2017-02-27 74 views
2

我已经索引元组的数组,我想用它来从多维numpy的数组挑出值,指数与指数数组多维数组

import numpy 
a = numpy.random.rand(10, 10, 10) 
idx = [[1, 1, 2], [0, 3, 7], [9, 8, 4], [9, 9, 9]] 

的理解[a[i, j, k] for i, j, k in idx]才做,如果a.ndim是众所周知。

任何提示?

+1

顺便说一句,'LEN(a.shape)'是通过acessible'a.ndim' –

+0

很酷,从来不知道这一点。 –

回答

5

你可以的idx转置版本转换为一个元组,然后指数为量化的解决方案 -

a[tuple(np.transpose(idx))]