问题描述:我使用pythonpandas读取几个大的CSV文件并将其存储在HDF5文件中,生成的HDF5文件大约为10GB。回读时出现问题。即使我尝试分block读回它,我仍然会遇到MemoryError。这是我创建HDF5文件的方式:importglob,osimportpandasaspdhdf=pd.HDFStore('raw_sample_storage2.h5')os.chdir("C:/RawDataCollection/raw_samples/PLB_Gate")forfilenameinglob.glob("RD_*.txt"):raw_df=pd.read_csv(f
我认为标题涵盖了这个问题,但要阐明:pandaspython包有一个DataFrame数据类型,用于在python中保存表数据。它还具有与hdf5的便捷接口(interface)文件格式,因此可以使用类似dict的简单界面保存pandasDataFrames(和其他数据)(假设您安装了pytables)importpandasimportnumpyd=pandas.HDFStore('data.h5')d['testdata']=pandas.DataFrame({'N':numpy.random.randn(5)})d.close()到目前为止一切顺利。但是,如果我随后尝试将相同的h
HDF5文件和PyTables创建的文件有区别吗?PyTables有两个函数.isHDFfile()和.isPyTablesFile()表明有是两种格式之间的区别。我在Google上做了一些调查,发现PyTables是建立在HDF之上的,但除此之外我没能找到更多信息。我对互操作性、速度和开销特别感兴趣。谢谢。 最佳答案 PyTables文件是HDF5文件。但是,据我了解,PyTables向HDF文件中每个条目的属性添加了一些额外的元数据。如果您正在为python/numpy寻找更“普通”的hdf5解决方案,请查看h5py。它不像Py
我在Ubuntu12.04(32位版本)下创建了一个HDF5文件,显然没有任何问题,使用Anaconda作为Python发行版并在ipython笔记本中编写。底层数据都是numpy数组。例如,importnumpyasnpimporth5pyf=h5py.File('myfile.hdf5','w')group=f.create_group('a_group')group.create_dataset(name='matrix',data=np.zeros((10,10)),chunks=True,compression='gzip')但是,如果我尝试从一个新的iypthon笔记本打开
运行时pd.read_hdf('myfile.h5')我收到以下回溯错误:[[...somelongertraceback]]~/.local/lib/python3.6/site-packages/pandas/io/pytables.pyinread_array(self,key,start,stop)24872488ifisinstance(node,tables.VLArray):->2489ret=node[0][start:stop]2490else:2491dtype=getattr(attrs,'value_type',None)~/.local/lib/python3
我使用Python包h5py(版本2.5.0)访问我的hdf5文件。我想遍历文件的内容并对每个数据集做一些事情。使用访问方法:importh5pydefprint_it(name):dset=f[name]print(dset)print(type(dset))withh5py.File('test.hdf5','r')asf:f.visit(print_it)对于我获得的测试文件:这告诉我文件中有一个数据集和一个组。但是,除了使用type()来区分数据集和组之外,没有明显的方法。h5pydocumentation不幸的是,关于这个话题什么也没说。他们总是假定您事先知道什么是组以及什么
DataFrame.to_hdf(path_or_buf,key,**kwargs)pandas官方文档中说key是store中组的标识。但是,这是什么意思?尽管如此,我还是找不到足够的例子。我已经为参数键尝试了一些任意值,但我没有看到它们之间有任何区别。有时,api引用可能非常模糊。谁能给我一些例子来帮助我更好地理解参数键? 最佳答案 在pandasto_hdf中,'key'参数是您存储在hdf5文件中的对象的名称。您可以将多个对象(数据帧)存储在一个hdf5文件中。因此,例如,您可以将数据帧“xyz”和数据帧“abc”存储在同一
我可以毫无问题地从HDF5商店内的表格中选择内容:withpandas.HDFStore(data_store)ashdf:df_reader=hdf.select('my_table_id',chunksize=10000)如何使用pandas获取要选择的所有表的列表? 最佳答案 hdf.keys()返回与存储在HDFStore(link)中的对象对应的键的(可能无序的)列表 关于python-获取HDF5内容列表(PandasHDFStore),我们在StackOverflow上找到
当我尝试读取我用h5py创建的HDF5格式文件时,出现pandas错误。我想知道我是不是做错了什么?importh5pyimportnumpyasnpimportpandasaspdh5_file=h5py.File('test.h5','w')h5_file.create_dataset('zeros',data=np.zeros(shape=(3,5)),dtype='f')h5_file.close()pd_file=pd.read_hdf('test.h5','zeros')报错:类型错误:如果对象不存在且未传递值,则无法创建存储我尝试将键集指定为“/zeros”(就像我在读取
我意识到SO用户以前曾问过这个question但它在2009年被问到,我希望有更多关于HDF5的知识可用或更新版本已经解决了这个特定问题。在这里重申关于我自己的问题的问题;我有一个来自大型几何体的巨大节点和元素文件,并且已经从中检索了我需要的所有有用信息。因此,在Python中,我试图保留原始文件,但删除我不需要的信息并为其他来源填写更多信息。例如,我有一个不需要的节点数据集。但是,我需要保留相邻的数据集并包含来自外部文件的有关它们的索引的信息。有没有办法删除这些特定的数据集?或者在HDF5文件中使用“占位符”的旧想法是否仍然适用,以至于没有人知道如何/为删除信息而烦恼?我不太担心空白