【问题标题】:Index multidimensional array with index array带索引数组的索引多维数组
【发布时间】:2017-07-17 21:59:44
【问题描述】:

我有一个索引元组数组,我想用它从多维 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 时才有效。

有什么提示吗?

【问题讨论】:

  • 顺便说一句,len(a.shape) 可以通过a.ndim 访问
  • 酷,从来不知道。

标签: python arrays numpy multidimensional-array


【解决方案1】:

您可以将 idx 的转置版本转换为元组,然后为矢量化解决方案编制索引 -

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

【讨论】:

    猜你喜欢
    • 2018-01-22
    • 2015-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多