Маскировка в Даске - PullRequest
       12

Маскировка в Даске

0 голосов
/ 05 июля 2018

Мне просто интересно, может ли кто-нибудь помочь мне показать, как применять такие функции, как «сумма» или «среднее», к массивам масок с помощью dask. Я хочу рассчитать сумму / среднее значение массива только для тех значений, где нет маски.

Код:

import dask.array as da
import numpy as np
import numpy.ma as ma
dset = [1, 2, 3, 4] 
masked = ma.masked_equal(dset, (4)) # lets say 4 should be masked
print(np.sum(masked)) # output: 6
print(np.mean(masked)) # output: 2
print(masked) # output: [1, 2, 3, -]
masked_array = da.from_array(masked, chunks=(4))
print(masked_array.sum().compute(): # output: 10
print(masked_array.mean().compute()) # output: 2.5

Есть ли способ, которым можно замаскировать мою сумму в маске, равную np.sum (в маске), и среднее значение в маске, равное 2, игнорируя значение "4"? Кажется, что numpy может игнорировать "4" в своих вычислениях, но dask не в этом случае.

...