docs: def get_dataframe(self, md5, compress='lz4'):
          """Return a dataframe from the DataStore. This is just a convenience method
             that uses get_sample internally. 
              Args:
                  md5: the md5 of the dataframe
                  compress: compression to use: (defaults to 'lz4' but can be set to None)
              Returns:
                  A msgpack'd Pandas DataFrame
              Raises:
                  Workbench.DataNotFound if the dataframe is not found.
          """
          # First we try a sample, if we can't find one we try getting a sample_set.
          sample = self.data_store.get_sample(md5)
          if not sample:
              raise WorkBench.DataNotFound("Could not find %s in the data store", md5)
          if not compress:
              return sample['raw_bytes']
          else:
              compress_df = lz4.dumps(sample['raw_bytes'])
              print 'Info: DataFrame compression %.0f%%' % (len(compress_df)*100.0/float(len(sample['raw_bytes'])))
              return compress_df