10

对于项目的某些方面,使用“h5”存储将是理想的。然而,这些文件变得越来越大,坦率地说,我们的空间已经用完了。

这个说法...

 store.put(storekey, data, table=False, compression='gzip')

在文件大小方面不会产生任何差异...

 store.put(storekey, data, table=False)

通过 Pandas 时甚至可以使用压缩吗?

...如果不可能,我不介意使用 h5py,但是,我不确定为“数据类型”放置什么,因为 DataFrame 包含各种类型(字符串、浮点数、整数等)

任何帮助/见解将不胜感激!

4

3 回答 3

10

请参阅有关使用压缩的文档HDFStore

gzip不是有效的压缩选项(并且被忽略,这是一个错误)。尝试任何一个zlib, bzip2, lzo, blosc(bzip2/lzo 可能需要安装额外的库)

有关各种压缩的PyTables 文档,请参见

这是一个半相关的问题。

于 2013-08-16T14:14:12.330 回答
1

过去我一直是 HDF5 的忠实粉丝,但是遇到了各种复杂情况,尤其是 Pandas HDFStore,我开始认为 Exdir 是一个好主意。

http://exdir.readthedocs.io

于 2018-04-18T08:24:54.333 回答
0

您可以像这样以压缩格式编写数据:

import pandas as pd

some_key = 'some_key'

with pd.HDFStore('path/to/your/h5/file.h5', complevel=9, complib='zlib') as store:
    store[some_key] = your_data_to_save_in_the_key

你可以读回来:

with pd.HDFStore('path/to/your/h5/file.h5', complevel=9, complib='zlib') as store:
    data_retrieved = store[some_key]
于 2022-02-01T18:41:39.493 回答