蒙面蒙面 [英] Masking in Dask

查看:14
本文介绍了蒙面蒙面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是想知道是否有人可以帮助我演示如何使用DASK在掩码数组上应用"sum"或"Mean"之类的函数。我希望仅在没有掩码的值上计算数组的和/平均值。

编码:

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
有没有办法通过忽略"4"值使我的掩码总和等于np.sum(掩码),并使掩码平均值等于2?NumPy似乎能够在其计算中忽略"4",但Dask.在这种情况下不能。

推荐答案

DASK支持对掩码数组的多个操作,完整列表请参阅Dask' docs

掩码数组平均值和计算示例:

import dask
import dask.array as da

dset = da.array([1, 2, 3, 4])
mdata = da.ma.masked_equal(dset, 4)  
print(da.sum(mdata).compute()) # output: 6
print(da.ma.average(mdata).compute()) # output: 2

这篇关于蒙面蒙面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆