大于内存Dask数组的就地修改

时间:2018-09-09 12:14:57

标签: python arrays dask

我有一个dask数组X,大约是。 3500 x700000。每一行都有缺失的值,我需要根据该行的平均值来估算。

当前,此数组存储为dask数组,并且我具有可以执行插补的延迟函数。但是,当我使用计算方法时,内存似乎已满,因为它似乎正试图给我留下一个numpy数组。

有没有一种方法可以将该插补应用于数组,从而使插补数组最终成为内存不足的数组?

1 个答案:

答案 0 :(得分:1)

当您将延迟函数应用于dask数组时,必须将您的数组转换为单个numpy数组。参见http://dask.pydata.org/en/latest/delayed-best-practices.html#don-t-call-dask-delayed-on-other-dask-collections

您可能要考虑对数组进行分块,以便将行分成单个块,然后使用map_blocks