Dask: модификация на месте с булевой индексацией, вызывающая неожиданное поведениеPython

Программы на Python
Anonymous
Dask: модификация на месте с булевой индексацией, вызывающая неожиданное поведение

Сообщение Anonymous »

Я хотел бы выполнить поразрядную операцию на месте над моим массивом dask i с маской c поверх него.
MVE: p>

Код: Выделить всё

import dask.array as da
i = da.full((10,10),fill_value=4)
c = da.ones(i.shape, dtype=bool)
c[:,0] = False # For some variety
i[c] |= da.full(i.shape, fill_value=2)
i[c]
мой ожидаемый результат будет

Код: Выделить всё

array([[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6],
[6, 6, 4, 6, 6, 6, 6, 6, 6, 6]])
но тем временем я получаю сообщение об ошибке: ValueError: операнды не могут быть переданы вместе с фигурами (nan,) (10, 10)
Как я могу выполнять побитовые операции с маской над массивом dask

Подробнее здесь: https://stackoverflow.com/questions/784 ... d-behavior

Вернуться в «Python»