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


Python dask.dataframe.to_hdf用法及代码示例


用法:

dask.dataframe.to_hdf(df, path, key, mode='a', append=False, scheduler=None, name_function=None, compute=True, lock=None, dask_kwargs={}, **kwargs)

将 Dask Dataframe 存储为分层数据格式 (HDF) 文件

这是同名 Pandas 函数的并行版本。有关共享关键字参数的更多详细信息,请参阅 Pandas 文档字符串。

此函数与 Pandas 版本的不同之处在于将 Dask DataFrame 的许多分区并行保存到多个文件或同一文件中的多个数据集。您可以在文件名或数据路径中使用星号 * 和可选的 name_function 来指定这种并行性。星号将被替换为从 0 开始的递增整数序列,或在每个整数上调用 name_function 的结果。

此函数仅支持 Pandas 'table' 格式,不支持更专业的 'fixed' 格式。

参数

path字符串,pathlib.Path

目标文件名的路径。支持字符串 pathlib.Path 或任何实现 __fspath__ 协议的对象。可能包含 * 来表示许多文件名。

keystring

文件中的数据路径。可能包含 * 来表示许多位置

name_function函数

将上述选项中的* 转换为字符串的函数。应该接受一个从 0 到分区数的数字并返回一个字符串。 (见下面的例子)

computebool

是否立即执行。如果为 False,则返回 dask.Delayed 值。

lock锁,可选

用于防止并发问题的锁定。默认情况下,如果需要锁定,将根据您的调度程序使用 threading.Lock , multiprocessing.LockSerializableLock。有关锁定选择的更多信息,请参见 dask.utils.get_scheduler_lock。

schedulerstring

要使用的调度程序,例如“threads” or “processes”

**other:

有关更多信息,请参见 pandas.to_hdf

返回

filenames列表

如果 compute 为 True,则返回。每个分区保存到的文件名列表。

delayeddask.Delayed

如果 compute 为 False,则返回。计算时执行 to_hdf 的延迟对象。

例子

将数据保存到单个文件

>>> df.to_hdf('output.hdf', '/data')

将数据保存到同一文件中的多个数据路径:

>>> df.to_hdf('output.hdf', '/data-*')

将数据保存到多个文件:

>>> df.to_hdf('output-*.hdf', '/data')

使用多处理调度程序将数据保存到多个文件:

>>> df.to_hdf('output-*.hdf', '/data', scheduler='processes')

指定自定义命名方案。这会将文件写入“2000-01-01.hdf”、“2000-01-02.hdf”、“2000-01-03.hdf”等。

>>> from datetime import date, timedelta
>>> base = date(year=2000, month=1, day=1)
>>> def name_function(i):
...     ''' Convert integer 0 to n to a string '''
...     return base + timedelta(days=i)
>>> df.to_hdf('*.hdf', '/data', name_function=name_function)

相关用法


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