2016-11-07 27 views
4

.h5ファイルに保存されているデータセットをダウンロードしました。 特定の列のみを保持し、その中のデータを操作できるようにする必要があります。hdf5ファイルとpandasデータフレーム

これを行うには、私はpandasデータフレームにロードしようとしました。私が使用することを試みた:

pd.read_hdf(path) 

をしかし、私は得る:No dataset in HDF5 file.

私はSO(read HDF5 file to pandas DataFrame with conditions)の答えを見つけたが、私は条件を必要としない、と答えはどのようにファイルについての条件を追加します私はファイルの作成者ではないので、私はそれについて何もできません。

私もh5py使ってみた:

df = h5py.File(path) 

をしかし、これは簡単に操作可能ではないと私は(df.keys()を使用して列の名前のみ)それから列を取得するように見えることはできません どれでもこれを行う方法についてのアイデア?

答えて

0

あなたのHDFファイルが空のようです...ここで

は、あなたのHDFファイルを探索する方法を示しており、小さなデモです:

In [4]: fn = r'D:\temp\.data\test.h5' 

In [5]: store = pd.HDFStore(fn) 

In [6]: print(store) 
<class 'pandas.io.pytables.HDFStore'> 
File path: D:\temp\.data\test.h5 
/test   frame_table (typ->appendable,nrows->7,ncols->4,indexers->[index],dc->[Col1,Col2,Col3,Col4]) 

In [7]: df = store.select('test') 

In [8]: df 
Out[8]: 
     Col1  Col2 Col3 Col4 
0  what  the  0  0 
1  are curves  1  8 
2  men  of  2 16 
3   to  your  3 24 
4  rocks  lips  4 32 
5  and rewrite  5 40 
6 mountains history.  6 48 
4

パンダHDFのサポートがフォーマットされるためにHDFファイルを必要とします非常に具体的に。詳細はhttps://stackoverflow.com/a/33644128/4128030をご覧ください。

+0

はい。これについての詳細[ここ](https://stackoverflow.com/a/30787168/4653485)も同様です。 –

関連する問題