2

私はそのようなHDFファイルを持っています:

>>> dataset.store
... <class 'pandas.io.pytables.HDFStore'>
... File path: ../data/data_experiments_01-02-03.h5
... /exp01/user01    frame_table  (typ->appendable,nrows->221,ncols->124,indexers->[index])
... /exp01/user02    frame_table  (typ->appendable,nrows->163,ncols->124,indexers->[index])
... /exp01/user03    frame_table  (typ->appendable,nrows->145,ncols->124,indexers->[index])
... /exp02/user01    frame_table  (typ->appendable,nrows->194,ncols->124,indexers->[index])
... /exp02/user02    frame_table  (typ->appendable,nrows->145,ncols->124,indexers->[index])
... /exp03/user03    frame_table  (typ->appendable,nrows->348,ncols->124,indexers->[index])
... /exp03/user01    frame_table  (typ->appendable,nrows->240,ncols->124,indexers->[index])

そこから、実験の 1 つ (exp0Z) からすべてのユーザー (userXY) を取得し、それらを単一の大きな DataFrame に追加します。store.get('exp03')次のエラーを取得しようとしました:

>>> store.get('exp03')
... 
... ---------------------------------------------------------------------------
... TypeError                                 Traceback (most recent call last)
... <ipython-input-109-0a2e29e9e0a4> in <module>()
... ----> 1 dataset.store.get('/exp03')
... 
... /Library/Python/2.7/site-packages/pandas/io/pytables.pyc in get(self, key)
...     613         if group is None:
...     614             raise KeyError('No object named %s in the file' % key)
... --> 615         return self._read_group(group)
...     616 
...     617     def select(self, key, where=None, start=None, stop=None, columns=None,
... 
... /Library/Python/2.7/site-packages/pandas/io/pytables.pyc in _read_group(self, group, **kwargs)
...    1277 
...    1278     def _read_group(self, group, **kwargs):
... -> 1279         s = self._create_storer(group)
...    1280         s.infer_axes()
...    1281         return s.read(**kwargs)
... 
... /Library/Python/2.7/site-packages/pandas/io/pytables.pyc in _create_storer(self, group, format, value, append, **kwargs)
...    1160                 else:
...    1161                     raise TypeError(
... -> 1162                         "cannot create a storer if the object is not existing "
...    1163                         "nor a value are passed")
...    1164             else:
... 
... TypeError: cannot create a storer if the object is not existing nor a value are passed

を呼び出すことで単一のユーザーを取得できるstore.get('exp03/user01')ので、取得したデータフレームを繰り返して手動で追加することは可能だと思いますが、 の単一の呼び出しまたは他の同様のメソッドstore.keys()でそれを行うことが可能かどうか疑問に思います。store.get()

編集: データセットは私の pandas.HDFstore を含むクラスであることに注意してください

4

1 に答える 1