当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python dask.array.Array.store用法及代码示例


用法:

Array.store(targets, lock: bool | Lock = True, regions: tuple[slice, ...] | Collection[tuple[slice, ...]] | None = None, compute: bool = True, return_stored: bool = False, **kwargs)

将 dask 数组存储在 array-like 对象中,覆盖目标中的数据

这会将 dask 数组存储到支持 numpy 样式的 setitem 索引的对象中。它逐块存储值,因此不必填满内存。为了获得最佳性能,您可以将存储目标的块大小与阵列的块大小对齐。

如果您的数据适合内存,那么您可能更喜欢调用np.array(myarray)

参数

sources: Array or collection of Arrays
targets: array-like or Delayed or collection of array-likes and/or Delayeds

这些应该支持 setitem 语法target[10:20] = ...

lock: boolean or threading.Lock, optional

存储时是否锁定数据存储。传递 True(单独锁定每个文件)、False(不锁定)或要在所有写入之间共享的特定 threading.Lock 对象。

regions: tuple of slices or collection of tuples of slices

regions 中的每个 region 元组应该使得 target[region].shape = source.shape 分别用于源和目标中的相应源和目标。如果这是一个元组,则内容将被假定为切片,因此不要提供元组的元组。

compute: boolean, optional

如果为真则立即计算;否则返回dask.delayed.Delayed

return_stored: boolean, optional

可选择返回存储的结果(默认为 False)。

kwargs:

传递给计算/持久化的参数(仅在计算=真时使用)

返回

如果return_stored=真

数组元组

如果return_stored=False 并且计算=True

None

如果return_stored=False 并且计算=False

延迟

例子

>>> import h5py  
>>> f = h5py.File('myfile.hdf5', mode='a')  
>>> dset = f.create_dataset('/data', shape=x.shape,
...                                  chunks=x.chunks,
...                                  dtype='f8')
>>> store(x, dset)

或者同时存储多个数组

>>> store([x, y, z], [dset1, dset2, dset3])

相关用法


注:本文由纯净天空筛选整理自dask.org大神的英文原创作品 dask.array.Array.store。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。