當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。