如何从压缩的.npy文件创建Dask数组



我有一个大的数据集存储为压缩的npy文件。如何将给定的子集堆叠到Dask数组中?

我知道dask.array.from_npy_stack,但我不知道如何使用它。

这是一个粗糙的第一次尝试,耗尽了我所有的记忆:

import numpy as np
import dask.array as da
data = np.load('data.npz')
def load(files):
    list_ = [da.from_array(data[file]) for file in files]
    return da.stack(list_)
x = load(['foo', 'bar'])

好吧,你不能将一个大的npz文件加载到内存中,因为这样你就已经没有内存了。我会以延迟的方式读取每一个,然后调用da.from_array和da.stack,就像你在示例中一样。

如果你以前没有看过,以下是一些可能会有所帮助的文档:https://docs.dask.org/en/latest/array-creation.html#using-dask延迟

最新更新