def _prm_write_pandas_data(self, key, data, group, fullname, flag, **kwargs):
try:<EOL><INDENT>if '<STR_LIT>' not in kwargs:<EOL><INDENT>filters = self._all_get_filters(kwargs)<EOL>kwargs['<STR_LIT>'] = filters<EOL><DEDENT>if '<STR_LIT>' not in kwargs:<EOL><INDENT>kwargs['<STR_LIT>'] = self.pandas_format<EOL><DEDENT>if '<STR_LIT>' not in kwargs:<EOL><INDENT>kwargs['<STR_LIT>'] = self.encoding<EOL><DEDENT>overwrite = kwargs.pop('<STR_LIT>', False)<EOL>if key in group and not (overwrite or kwargs.get('<STR_LIT>', False)):<EOL><INDENT>raise ValueError(<EOL>'<STR_LIT>'<EOL>'<STR_LIT>' % (key, fullname))<EOL><DEDENT>else:<EOL><INDENT>self._logger.debug('<STR_LIT>' % (key, fullname))<EOL><DEDENT>if data is not None and (kwargs['<STR_LIT>'] == '<STR_LIT:f>' or kwargs['<STR_LIT>'] == '<STR_LIT>'):<EOL><INDENT>kwargs['<STR_LIT>'] = data.shape[<NUM_LIT:0>]<EOL><DEDENT>name = group._v_pathname + '<STR_LIT:/>' + key<EOL>self._hdf5store.put(name, data, **kwargs)<EOL>self._hdf5store.flush()<EOL>self._hdf5file.flush()<EOL>frame_group = group._f_get_child(key)<EOL>setattr(frame_group._v_attrs, HDF5StorageService.STORAGE_TYPE, flag)<EOL>self._hdf5file.flush()<EOL><DEDENT>except:<EOL><INDENT>self._logger.error('<STR_LIT>' % (key, fullname))<EOL>raise<EOL><DEDENT>
Stores a pandas DataFrame into hdf5.

        :param key:

            Name of data item to store

        :param data:

            Pandas Data to Store

        :param group:

            Group node where to store data in hdf5 file

        :param fullname:

            Full name of the `data_to_store`s original container, only needed for throwing errors.

        :param flag:

            If it is a series, frame or panel