[英]Index multidimensional array with index array
I have an array of index tuples and I would like to use it to pick out values from a multidimensional numpy array, 我有一个索引元组数组,我想用它从多维numpy数组中挑选出值,
import numpy
a = numpy.random.rand(10, 10, 10)
idx = [[1, 1, 2], [0, 3, 7], [9, 8, 4], [9, 9, 9]]
The comprehension [a[i, j, k] for i, j, k in idx]
only worked if a.ndim
was known. 理解[a[i, j, k] for i, j, k in idx]
只有在知道a.ndim
时才有效。
Any hints? 任何提示?
您可以将idx
的转置版本转换为元组,然后为矢量化解决方案编制索引 -
a[tuple(np.transpose(idx))]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.