Tag: pytables

使用HDF5进行大型arrays存储(而不是平面二进制文件)是否存在分析速度或内存使用优势?

我正在处理大型的3D数组,我经常需要用各种方法来进行各种数据分析。 一个典型的“立方体”可以是〜100GB(未来可能会变大) 似乎python中大数据集的典型推荐文件格式是使用HDF5(h5py或pytables)。 我的问题是:是否有任何速度或内存使用的好处,使用HDF5存储和分析这些立方体存储在简单的平面二进制文件? HDF5更适合表格数据,而不是像我正在使用的大型数组? 我看到HDF5可以提供很好的压缩,但是我更关心处理速度和处理内存溢出问题。 我经常只想分析立方体的一个大的子集。 pytables和h5py的一个缺点是,当我分割一个数组的时候,总是会返回一个数组,使用内存。 但是,如果我分割一个平坦的二进制文件的numpy memmap,我可以得到一个视图,它保持在磁盘上的数据。 所以,我似乎可以更容易地分析我的数据的特定部门,而不会超出我的记忆。 我已经探索了pytables和h5py,至今没有看到我的目的的好处。