首页 > 解决方案 > 连接大型 xarray 列表的最佳方法

问题描述

我有一个很大的 xarray 列表(名为 results_list 大约有 620000 个 xarray(每个 xarray 具有以下配置:shape=(73, 41, 1)dtype=np.float32)。我可以在 72 个内核的集群上工作(每个内核 30Go RAM)。

要将 xarrays 连接到仅一个 dask 数组中,我尝试了以下步骤:

import dask.array as da
rho = [da.from_array(result[0].data.squeeze()) for result in results_list]

它没有我想象的那么快(CPU 时间 = 1 分钟 39 秒),但它不是瓶颈。

然后: da_rho = da.concatenate(rho, axis=0)

这个计算需要太多时间(CPU 时间 = 14 分钟 5 秒),因为我必须做几十次这种操作,但我的时间有限。

是否可以使用 dask 显着减少时间计算?

标签: pythondaskpython-xarray

解决方案


推荐阅读