Dask:使用典型的 numpy 索引更新 dask 数组中的值时出现分配错误

Dask: Assignment error when updating a value in a dask array using typical numpy indexing

我正在将代码转换为使用 dask 数组而不是 numpy 数组。

我安装了 dask 版本 0.19.4。

我有一个数组已被等效的 dask 数组替换:

# this used to be a numpy array, created like so:
# da = np.zeros((total_months,))
da = dask.array.zeros((total_months,), chunks=(-1))

当我点击以下代码行时(以前当数组是 numpy 数组时有效),我收到项目分配错误:

for k in range(total_months):
    da[k] = awc - s0

NotImplementedError: Item assignment with <class 'int'> not supported

awcs0 都是上面的浮点标量。

我的理解是,正常的 numpy 样式切片和数组元素索引在 dask 中按预期工作,但这里没有发生这种情况。我哪里可能误入歧途了?

正确。不支持使用整数分配项目。

通常,使用 for 循环遍历大型数组的工作流不可扩展。 Dask 阵列不尝试支持它们。