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 文件中,请使用追加模式和不同的键。
警告
可以将
DataFrame
或Series
的子类存储到 HDF5 中,但在存储时子类的类型会丢失。更多信息请参见 用户指南。
- 参数:
- path_or_bufstr 或 pandas.HDFStore
文件路径或 HDFStore 对象。
- 关键str
存储中组的标识符。
- 模式{‘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。
- 追加bool, 默认 False
对于表格格式,将输入数据附加到现有数据中。
- 格式{‘fixed’, ‘table’, None}, 默认 ‘fixed’
可能的值:
‘fixed’: 固定格式。快速写入/读取。不可追加,也不可搜索。
‘table’: 表格格式。写成一个 PyTables 表格结构,这可能会表现更差,但允许更灵活的操作,如搜索/选择数据子集。
如果为 None,则检查 pd.get_option(‘io.hdf.default_format’),然后回退到 “fixed”。
- 索引布尔值, 默认为 True
将 DataFrame 索引写为一个列。
- min_itemsize字典或整数,可选
将列名映射到列的最小字符串大小。
- nan_rep任意,可选
如何将空值表示为字符串。不允许与 append=True 一起使用。
- dropnabool, 默认 False, 可选
移除缺失值。
- data_columns列的列表或 True,可选
要创建为磁盘查询的索引数据列的列列表,或为 True 以使用所有列。默认情况下,仅对象的轴被索引。有关更多信息,请参见 通过数据列查询。仅适用于 format=’table’。
- 错误str, 默认 ‘strict’
指定如何处理编码和解码错误。有关完整的选项列表,请参见
open()
的 errors 参数。- 编码str, 默认 “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