[英]Does python dask package support numpy like masked arrays?
有没有办法使用 Python Dask包来模拟 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.arrays,它相当于 Numpy ndarrays 并且没有掩码。 此外,用另一个数组切片似乎也是不可能的。 因此,我找不到只对数组的一部分进行计算的方法。
你是对的,截至 2016 年 12 月 Dask.array 不支持掩码数组。
此外,Dask.array 需要在每一步都知道每个块的形状,因此不支持通过另一个 dask 数组(这需要我们知道该点的值)进行切片。
自 2017 年 5 月以来,Dask 支持对数组进行基本操作的掩码数组 ( git link )。
下面的代码片段产生与 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()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.