ind_index = np.asarray([np.random.choice(40, 5, False) for i in range(5)])
fit = da.random.uniform(size=40, chunks=5)
parents_index = da.argmin(fit[ind_index], axis=1)
结果应该是一个shape(5,)(每行的最小索引)数组,而是返回以下错误:
Traceback (most recent call last):
File "/home/skyolia/PycharmProjects/garbage/garbage.py", line 36, in
<module>
parents_index = da.argmin(fit[ind_index], axis=1)
File "/usr/local/lib/python3.5/dist-packages/dask/array/core.py", line
1383, in __getitem__
dsk, chunks = slice_array(out, self.name, self.chunks, index2)
File "/usr/local/lib/python3.5/dist-packages/dask/array/slicing.py",
line 158, in slice_array
dsk_out, bd_out = slice_with_newaxes(out_name, in_name, blockdims,
index)
File "/usr/local/lib/python3.5/dist-packages/dask/array/slicing.py",
line 180, in slice_with_newaxes
dsk, blockdims2 = slice_wrap_lists(out_name, in_name, blockdims,
index2)
File "/usr/local/lib/python3.5/dist-packages/dask/array/slicing.py",
line 247, in slice_wrap_lists
index[where_list[0]], axis=axis)
File "/usr/local/lib/python3.5/dist-packages/dask/array/slicing.py",
line 566, in take
plan = slicing_plan(chunks[axis], index)
File "/usr/local/lib/python3.5/dist-packages/dask/array/slicing.py",
line 534, in slicing_plan
if chunk > 0:
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()
但同样的代码在纯numpy中也能很好地工作。问题出在哪里?许多泰铢
只需对给定数组
argmin
调用fit
,并可选地进行计算以显示结果。你知道吗你也可以这样做:
或者
记住
fit
是一个大小为40的数组。也许你应该用语言来描述你想要达到的目标?也许大小应该是一个元组,比如(40, 5)
或者其他类似的东西?你知道吗相关问题 更多 >
编程相关推荐