pandas.DataFrame.to_hdf#
- DataFrame.to_hdf(path_or_buf, *, key, mode='a', complevel=None, complib=None, append=False, format=None, index=True, min_itemsize=None, nan_rep=None, dropna=None, data_columns=None, errors='strict', encoding='UTF-8')[原始碼]#
使用 HDFStore 將包含的資料寫入 HDF5 檔案。
分層資料格式 (HDF) 是自描述的,允許應用程式在沒有外部資訊的情況下解釋檔案的結構和內容。一個 HDF 檔案可以包含混合的相關物件,這些物件可以作為一個組或作為單個物件被訪問。
為了將另一個 DataFrame 或 Series 新增到現有的 HDF 檔案中,請使用追加模式和不同的 key。
警告
可以將
DataFrame或Series的子類儲存到 HDF5 中,但子類的型別在儲存時會丟失。有關更多資訊,請參閱 使用者指南。
- 引數:
- path_or_bufstr 或 pandas.HDFStore
檔案路徑或 HDFStore 物件。
- keystr
商店中組的識別符號。
- mode{‘a’, ‘w’, ‘r+’}, 預設 ‘a’
開啟檔案的模式
‘w’: 寫入,建立一個新檔案 (具有相同名稱的現有檔案將被刪除)。
‘a’: 追加,開啟現有檔案進行讀寫,如果檔案不存在則建立。
‘r+’: 類似於 ‘a’,但檔案必須已存在。
- complevel{0-9}, 預設 None
指定資料的壓縮級別。值為 0 或 None 時停用壓縮。
- complib{‘zlib’, ‘lzo’, ‘bzip2’, ‘blosc’}, 預設 ‘zlib’
指定要使用的壓縮庫。Blosc 支援以下額外的壓縮器 (如果沒有指定壓縮器,則預設為 ‘blosc:blosclz’): {‘blosc:blosclz’, ‘blosc:lz4’, ‘blosc:lz4hc’, ‘blosc:snappy’, ‘blosc:zlib’, ‘blosc:zstd’}。指定不存在的壓縮庫將引發 ValueError。
- appendbool, 預設 False
對於 Table 格式,將輸入資料追加到現有資料中。
- format{‘fixed’, ‘table’, None}, 預設 ‘fixed’
可能的值
‘fixed’: 固定格式。快速寫入/讀取。不可追加,也不可搜尋。
‘table’: 表格格式。作為 PyTables 表結構寫入,這可能效能較差,但允許更靈活的操作,如搜尋/選擇資料子集。
如果為 None,則檢查 pd.get_option(‘io.hdf.default_format’),然後回退到“fixed”。
- indexbool, 預設 True
將 DataFrame 索引寫為一列。
- min_itemsizedict 或 int, 可選
將列名對映到列的最小字串大小。
- nan_rep任意, 可選
如何將 null 值表示為字串。不允許與 append=True 一起使用。
- dropnabool, 預設 False, 可選
刪除缺失值。
- data_columns列的列表或 True, 可選
用於在磁碟查詢的索引資料列的列的列表,或 True 以使用所有列。預設情況下,僅索引物件的軸。有關更多資訊,請參閱 透過資料列查詢。僅適用於 format=’table’。
- errorsstr, 預設 ‘strict’
指定如何處理編碼和解碼錯誤。有關選項的完整列表,請參閱
open()中的 errors 引數。- encodingstr, 預設 “UTF-8”
設定字元編碼。
另請參閱
read_hdf從 HDF 檔案讀取。
DataFrame.to_orc將 DataFrame 寫入二進位制 orc 格式。
DataFrame.to_parquet將 DataFrame 寫入二進位制 parquet 格式。
DataFrame.to_sql寫入 SQL 表。
DataFrame.to_feather將 DataFrame 寫入 feather 格式。
DataFrame.to_csv寫入 csv 檔案。
示例
>>> df = pd.DataFrame( ... {"A": [1, 2, 3], "B": [4, 5, 6]}, index=["a", "b", "c"] ... ) >>> df.to_hdf("data.h5", key="df", mode="w")
我們可以將另一個物件新增到同一個檔案中
>>> s = pd.Series([1, 2, 3, 4]) >>> s.to_hdf("data.h5", key="s")
從 HDF 檔案讀取
>>> pd.read_hdf("data.h5", "df") A B a 1 4 b 2 5 c 3 6 >>> pd.read_hdf("data.h5", "s") 0 1 1 2 2 3 3 4 dtype: int64