Реализация Dask для операции мутации

Я пытаюсь преобразовать следующую операцию numpy в dask, но дело в том, что это изменяемая операция, поэтому в операторе distMap[:, i] = da.sqrt(xSum + ySum).min(axis=0) появляется ошибка NotImplementedError: Item assignment with <class 'tuple'> not supported.
Ниже приведен код:

for i, mask in enumerate(masks): 
     bounds = find_boundaries(mask, mode='inner')
     X2, Y2 = np.nonzero(bounds)
     X2 = da.from_array(X2, 'auto')
     Y2 = da.from_array(Y2, 'auto')
     xSum = (X2.reshape(-1, 1) - X1.reshape(1, -1)) ** 2
     ySum = (Y2.reshape(-1, 1) - Y1.reshape(1, -1)) ** 2
     distMap[:, i] = da.sqrt(xSum + ySum).min(axis=0)

Я проверил этот ответ (Назначение элемента объектам массива dask Python) и он описывает подход, который, честно говоря, я не могу понять. Также есть упоминание о подходе da.where, но я не могу найти дополнительную литературу по нему. Как это сделать?


person Beginner    schedule 07.10.2019    source источник