我在Ubuntu服务器上安装了h5py。 但是,它似乎返回一个错误,没有findh5py.h 当我使用pip或setup.py文件安装时,它会给出相同的错误信息。 我在这里错过了什么? 我有Numpy版本1.8.1,比1.6或更高的版本更高。 完整的输出如下: van@Hulk:~/h5py-2.3.1⟫ sudo python setup.py install libhdf5.so: cannot open shared object file: No such file or directory HDF5 autodetection failed; building for 1.8.4+ running install running bdist_egg running egg_info writing h5py.egg-info/PKG-INFO writing top-level names to h5py.egg-info/top_level.txt writing dependency_links to h5py.egg-info/dependency_links.txt reading manifest file 'h5py.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no […]
我有一个Python代码,其输出是 大小的matrix,其条目都是float型。 如果我用扩展名.dat保存,文件大小为500 MB。 我读了使用h5py大大减less文件大小。 所以,假设我有一个名为A的二维numpy数组。 如何将其保存到h5py文件? 此外,如何读取相同的文件,并将其作为一个numpy数组在不同的代码中,因为我需要做数组操作?
我做了很多统计工作,并使用Python作为我的主要语言。 我使用的一些数据集可能需要20GB的内存,这使得在numpy,scipy和PyIMSL中使用内存中的函数几乎不可能。 统计分析语言SAS在这方面具有很大的优势,它可以对硬盘数据进行操作,而不是严格按照内存处理。 但是,我想避免在SAS中编写大量代码(出于各种原因),因此我正试图确定我有哪些Python选项(除了购买更多的硬件和内存)。 我应该澄清,像map-reduce这样的方法在我的大部分工作中都没有帮助,因为我需要对整套数据进行操作(例如计算分位数或拟合逻辑回归模型)。 最近我开始玩h5py,并认为这是我发现允许Python像SAS一样操作并通过磁盘(通过hdf5文件)操作数据的最佳select,同时仍然可以利用numpy / scipy / matplotlib等。想听听有没有人在类似的环境中使用Python和h5py,以及他们发现了什么。 有没有人能够在迄今为止由SAS主导的“大数据”设置中使用Python? 编辑:购买更多的硬件/内存当然可以提供帮助,但从IT的angular度来看,我很难将Python卖给需要分析庞大数据集的组织,当Python(或R或MATLAB等)需要将数据保存在内存。 SAS在这里仍然有很强的卖点,因为虽然基于磁盘的分析可能会比较慢,但您可以自信地处理大量的数据集。 所以,我希望Stackoverflower能够帮助我找出如何减less使用Python作为主要的大数据分析语言的感知风险。
我正在处理大型的3D数组,我经常需要用各种方法来进行各种数据分析。 一个典型的“立方体”可以是〜100GB(未来可能会变大) 似乎python中大数据集的典型推荐文件格式是使用HDF5(h5py或pytables)。 我的问题是:是否有任何速度或内存使用的好处,使用HDF5存储和分析这些立方体存储在简单的平面二进制文件? HDF5更适合表格数据,而不是像我正在使用的大型数组? 我看到HDF5可以提供很好的压缩,但是我更关心处理速度和处理内存溢出问题。 我经常只想分析立方体的一个大的子集。 pytables和h5py的一个缺点是,当我分割一个数组的时候,总是会返回一个数组,使用内存。 但是,如果我分割一个平坦的二进制文件的numpy memmap,我可以得到一个视图,它保持在磁盘上的数据。 所以,我似乎可以更容易地分析我的数据的特定部门,而不会超出我的记忆。 我已经探索了pytables和h5py,至今没有看到我的目的的好处。