我想从Python的HDF5数据集中删除一个元素。下面是我的示例代码
DeleteHDF5Dataset.py
# This code works, which deletes an HDF5 dataset from an HDF5 file
file_name = os.path.join('myfilepath', 'myfilename.hdf5')
f = h5py.File(file_name, 'r+')
f.__delitem__('Log list')
然而,这不是我想做的。‘'mydatatset’是
我正在运行一个模型,该模型将数据输出到多个Pandas框架中,然后将这些帧保存到HDF5文件中。该模型运行数百次,每次在现有HDF5文件的框架中添加新列(多索引)。这是用Pandas merge完成的。由于每次运行的帧都有不同的长度,因此在帧中最终会出现大量的NaN值。
完成足够的模型运行后,如果行或列与出现错误的模型运行相关联,则从框架中删除数据。在这个过程中,新的数据帧被放入一个新的HDF5文件中。下面的伪python演示了这个过程:
with pandas.HDFStore(filename) as store:
# figure out which indices should
如何使用Pandas通过比较hdf5文件中的两列来选择一些行?hdf5文件太大,无法加载到内存中。例如,我想选择列A和列B相等的行。数据帧保存在文件'mydata.hdf5‘中。谢谢。
import pandas as pd
store = pd.HDFstore('mydata.hdf5')
df = store.select('mydf',where='A=B')
这不管用。我知道store.select('mydf',where='A==12')将会工作。但我想比较A列和B列。示例数据如下所示:
A
我已经通过pandas和pandas.HDFStore()将大约800 GB的巨大数据帧存储到HDF5中。
import pandas as pd
store = pd.HDFStore('store.h5')
df = pd.Dataframe() # imagine the data being munged into a dataframe
store['df'] = df
我想用Impala来询问这个问题。有没有一种简单的方法可以将这些数据解析到Parquet中?或者Impala允许您直接使用HDF5?对于HDF5上的数据,还有其他选择吗?
我有一个小的python程序,它使用h5py模块创建hdf5文件。我想编写一个python模块来处理hdf5文件中的数据。我怎么能这么做呢?
更具体地说,我可以将numpy数组设置为PyArrayObject并使用PyArg_ParseTuple读取它们。这样,我就可以在编写python模块时从numpy数组中读取元素。如何读取hdf5文件以访问单个元素?
更新:感谢你下面的回答。我需要从C中读取hdf5文件,而不是从Python中-我知道如何做到这一点。例如:
import h5py as t
import numpy as np
f=t.File('\tmp\tmp.h5'