python - 如何将 Pandas DataFrame 存储为 HDF5 PyTables 表(或 CArray、EArray 等)?

标签 python pandas hdf5 pytables hdfstore

我有以下 Pandas 数据框:

import pandas as pd
df = pd.read_csv(filename.csv)

现在,我可以使用 HDFStoredf对象到文件(例如将键值对添加到 Python 字典):
store = HDFStore('store.h5')
store['df'] = df

http://pandas.pydata.org/pandas-docs/stable/io.html

当我查看内容时,这个对象是 frame .
store 

输出
<class 'pandas.io.pytables.HDFStore'>
File path: store.h5
/df            frame        (shape->[552,23252])

但是,为了使用索引,应该将其存储为 table目的。

我的方法是尝试HDFStore.put() IE。
HDFStore.put(key="store.h", value=df, format=Table)

但是,这失败并出现错误:
TypeError: put() missing 1 required positional argument: 'self'

如何将 Pandas Dataframes 保存为 PyTables 表?

最佳答案

公共(public)部分 - 创建或打开现有的 HDFStore 文件:

store = pd.HDFStore('store.h5')

如果你想索引 ,试试这个全部 列:
store.append('key_name', df, data_columns=True)

或者如果您只想索引列的一个子集,则可以这样做:
store.append('key_name', df, data_columns=['colA','colC','colN'])

PS HDFStore.append()table 中默认保存 DF格式

关于python - 如何将 Pandas DataFrame 存储为 HDF5 PyTables 表(或 CArray、EArray 等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38460744/

相关文章:

python - 如何使 spaCy 匹配不区分大小写

python - 如何抵消 Pandas Pearson 与日期时间索引的相关性

python - 如何使用 H5py 在 python 3 中正确打开、读取和保存单个文件

python - 将 pandas 数据框作为数据集插入 HDFStore 中

Python:并非所有环境变量都存在于 os.environ 中

Python - 分组依据并过滤缺少的属性值

python - 如何使用 Pathlib 检查文件夹/文件权限

python - Django:Python变量数据作为背景图片

python - 更改标题行的颜色

python - 无法在Python中创建HDF5数据集的引用