Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python dask包是否支持类似numpy的掩码数组?_Python_Dask_Masked Array - Fatal编程技术网

python dask包是否支持类似numpy的掩码数组?

python dask包是否支持类似numpy的掩码数组?,python,dask,masked-array,Python,Dask,Masked Array,有没有一种方法可以使用Python包来模拟Numpy掩码数组,并根据掩码进行计算,如在Numpy中: import numpy as np data = np.array([0, 1, 9999, 2, 1, 0, 9999]) value = 9999 mdata = np.ma.masked_where(data == value, data) result = (mdata * 2 + 10) 在包文档中,我只找到了dask.array,它相当于Numpy ndarrays,不具有

有没有一种方法可以使用Python包来模拟Numpy掩码数组,并根据掩码进行计算,如在Numpy中:

import numpy as np

data = np.array([0, 1, 9999, 2, 1, 0, 9999])
value = 9999
mdata = np.ma.masked_where(data == value, data)  
result = (mdata * 2 + 10)

在包文档中,我只找到了dask.array,它相当于Numpy ndarrays,不具有掩码。此外,使用另一个阵列进行切片似乎也是不可能的。因此,我无法找到仅对阵列的一部分进行计算的方法。

您是正确的,截至2016年12月,Dask.array不支持屏蔽阵列


此外,Dask.array需要知道每个步骤中每个块的形状,因此不支持通过另一个Dask数组进行切片(这需要我们知道该点的值)。

自2017年5月以来,Dask支持对阵列进行基本操作的屏蔽数组()

下面的代码片段产生与numpy相同的结果

import dask
import dask.array as da    
    
data = da.array([0, 1, 9999, 2, 1, 0, 9999])
value = 9999
mdata = da.ma.masked_where(data == value, data)  
result = (mdata * 2 + 10).compute()

谢谢你的回答。然而,掩模支持对于dask在遥感卫星图像处理中的应用是非常有用的。在社区内,我们期待在dask中提供此功能。我将尝试在Github问题跟踪器上添加一个功能请求。我们在biggus中有一些隐藏的核心算法,我一直希望有时间在dask中实现它们。