jjzjj

python - 将 hdf5 matlab 字符串加载到 Python 中

我在使用Python读取hdf5matlab7.3文件时遇到了问题。我正在使用h5py2.0.1。我可以读取存储在文件中的所有矩阵,但无法读取字符串列表。h5py将字符串显示为形状为(1,894)且类型为|04的数据集。此数据集包含对象引用,我尝试使用h5file[obj_ref]取消引用语法。这会产生类似dataset"FFb":shape(4,1)type"的结果.我将其解释为长度为4的字符数组。这似乎是字符串的ASCII表示。有没有简单的方法可以取出字符串?是否有任何软件包提供matlab到pythonhdf5支持? 最佳答案

python - 无法将 DataFrame 保存到 HDF5 ("object header message is too large")

我在Pandas中有一个DataFrame:In[7]:my_dfOut[7]:Int64Index:34entries,0to0Columns:2661entries,airplanetozoodtypes:float64(2659),object(2)当我尝试将其保存到磁盘时:store=pd.HDFStore(p_full_h5)store.append('my_df',my_df)我得到:File"H5A.c",line254,inH5Acreate2unabletocreateattributeFile"H5A.c",line503,inH5A_createunabletoc

python - 调整大小时如何压缩hdf5文件?

这是我的代码:n=100000#Thisiswhatmakesittricky-lotsoffilesgoingintothishdf5filewithh5py.File('image1.h5','w')asf:dset_X=f.create_dataset('X',(1,960,224,224),maxshape=(None,960,224,224),chunks=True,compression='gzip')dset_y=f.create_dataset('y',(1,112,224*224),maxshape=(None,112,224*224),chunks=True,com

python - 在具有 500e6 行的 hdf5 pytable 中查找重复项

问题我有一个大型(>500e6行)数据集,我已将其放入pytables数据库中。假设第一列是ID,第二列是每个ID的计数器。每个ID计数器组合都必须是唯一的。我要查找的500e6行中有一个非唯一行。作为初学者,我做过这样的事情:index1=db.cols.id.create_index()index2=db.cols.counts.create_index()forrowindb:query='(id==%d)&(counts==%d)'%(row['id'],row['counts'])result=th.readWhere(query)iflen(result)>1:printr

python - 有条件地将 HDF5 文件读取到 pandas DataFrame

我有一个巨大的HDF5文件,我想将其中的一部分加载到pandasDataFrame中以执行一些操作,但我有兴趣过滤一些行。我可以用一个例子更好地解释:原始HDF5文件看起来像这样:ABCD10341120321531352241341551319103415212911303415411214503415103213213415etcetcetcetc我想做的是将它原封不动地加载到pandasDataframe,但只是whereA==1or3or4到目前为止,我可以使用以下方法加载整个HDF5:store=pd.HDFStore('Resutls2015_10_21.h5')df=pd

python - 使用 Pandas、Python 将数据附加到 HDF5 文件

我有包含财务数据的大型pandasDataFrames。我可以毫无问题地将额外的列和DataFrame附加和连接到我的.h5文件。财务数据每分钟更新一次,我需要每分钟向.h5文件中的所有现有表追加一行数据。这是我到目前为止尝试过的方法,但无论我做什么,它都会覆盖.h5文件,而不仅仅是附加数据。HDF存储方式:#weopenthehdf5filesave_hdf=HDFStore('test.h5')ohlcv_candle.to_hdf('test.h5')#wegivethedataframeakeyvalue#format=tablesowecanappenddatasave_hd

python - 是否可以从 Python 的 HDF5 文件中的复合数据集中读取字段名称?

我有一个HDF5文件,其中包含一个带有列名的二维表。当我抢劫这个名为results的对象时,它会在HDFView中显示。事实证明,results是一个“复合数据集”,一个一维数组,其中每个元素都是一行。以下是HDFView显示的其属性:我可以获得这个对象的句柄,我们称它为res。列名为V2pt、R2pt等我可以读取整个数组作为数据,我可以读取一个元素res[0,...,"V2pt"].这将返回V2pt列第一行中的数字。将0替换为1将返回第二行值等。如果我先验知道列名,这会起作用。但我没有。我只想获取整个数据集和它的列名。我该怎么做?我看到HDF5documentation中有一个get

python - 将 scipy 稀疏矩阵存储为 HDF5

我想以HDF5格式压缩和存储一个巨大的Scipy矩阵。我该怎么做呢?我试过下面的代码:a=csr_matrix((dat,(row,col)),shape=(947969,36039))f=h5py.File('foo.h5','w')dset=f.create_dataset("init",data=a,dtype=int,compression='gzip')我遇到这样的错误,TypeError:Scalardatasetsdon'tsupportchunk/filteroptionsIOError:Can'tprepareforwritingdata(Noappropriatef

Python、NetCDF4 和 HDF5

我不知道为什么安装这些包总是那么痛苦。我使用NetCDF/HDF5已经很长时间了,无论是在Linux还是OSX上,无论是C、C++还是现在的python,让它们正确安装或运行一直是一次纯粹的恐怖之旅。netcdf4和hdf5之间的简单依赖关系是许多人痛苦的根源,我真的希望这些软件包的开发人员最终能对此做pip什么。所以,我面临的最新具体问题是:我正在尝试为python安装netCDF4。我收到以下错误:Packagehdf5wasnotfoundinthepkg-configsearchpathPerhapsyoushouldaddthedirectorycontaining`hdf5

python - hdf5 文件到 pandas 数据框

我下载了一个存储在.h5文件中的数据集。我只需要保留某些列并能够操作其中的数据。为此,我尝试将其加载到pandas数据框中。我试过使用:pd.read_hdf(path)但我得到:HDF5文件中没有数据集。我在SO(readHDF5filetopandasDataFramewithconditions)上找到了答案,但我不需要条件,答案添加了有关文件编写方式的条件,但我不是文件的创建者,所以我做不到关于那个的任何事情。我也尝试过使用h5py:df=h5py.File(path)但这并不容易操作,我似乎无法从中获取列(仅使用df.keys()的列名)关于如何执行此操作的任何想法?