我目前有一个值列表和一个尴尬的整数值数组。我想要相同维度的笨拙数组,但其中的值是与笨拙数组的整数值相对应的“值”数组的索引。例如:
values = ak.Array(np.random.rand(100))
arr = ak.Array((np.random.randint(0, 100, 33), np.random.randint(0, 100, 125)))
我想要类似 values[arr] 的东西,但这会产生以下错误:
>>> values[arr]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Anaconda3\lib\site-packages\awkward\highlevel.py", line 943, in __getitem__
return ak._util.wrap(self._layout[where], self._behavior)
ValueError: cannot fit jagged slice with length 2 into RegularArray of size 100
如果我用循环运行它,我会得到我想要的:
>>> values = ([values[i] for i in arr])
>>> values
[<Array [0.842, 0.578, 0.159, ... 0.726, 0.702] type='33 * float64'>, <Array [0.509, 0.45, 0.202, ... 0.906, 0.367] type='125 * float64'>]
还有另一种方法可以做到这一点,还是这样?恐怕这对我的申请来说太慢了。
谢谢!