gpt4 book ai didi

python - 使用另一个 ndarray 中的索引评估 ndarray 时出现 IndexError

转载 作者:行者123 更新时间:2023-12-01 04:06:38 24 4
gpt4 key购买 nike

我试图从另一个 ndarray 中的索引获取值,但我不断收到此错误

IndexError too many indices for array.

我尝试从中获取值的数组 scores 具有 scores.shape = (10,10000)指出索引的数组 indices 具有 indices.shape = (10000,2)

我正在尝试以这种方式获取值:

values = scores[tuple(indices)]

但这就是我收到错误的地方。

我试图通过这种方式访问​​分数的多个单独值,例如scores[0,6], Scores[1,9] 在另一个数组中,所以我得到类似的东西

[scores[0,6],scores[1,9],...] 

一气呵成,避免循环。这些 [[0,6] , [1,9], ...] 存储在索引数组中。我提到前一个,以防可能导致解决方法。

最佳答案

尝试以下操作:scores[indices[:,0],indices[:,1]]。或者,scores[tuple(indices.T)]

当您执行scores[tuple(indices)]时,tuple(indices)正在创建一个2元素数组的元组。 Numpy 将此解释为您试图获取 10,000 维数组的 2 个元素!对于您需要的索引类型,Numpy 需要每个维度的值数组。换句话说,它需要的不是 ( [x1,y1], [x2,y2] ),而是 ( [x1,x2], [y1, y2] )

关于python - 使用另一个 ndarray 中的索引评估 ndarray 时出现 IndexError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35490396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com