Flexible HDF5 saving/loading and other data science tools from the University of Chicago. This repository also host a Deep Learning blog:
pip install deepdish
Alternatively (if you have conda with the conda-forge channel):
conda install deepdish
The primary feature of deepdish is its ability to save and load all kinds of data as HDF5. It can save any Python data structure, offering the same ease of use as pickling or numpy.save. However, it improves by also offering:
- Interoperability between languages (HDF5 is a popular standard)
- Easy to inspect the content from the command line (using
h5ls
or our specialized toolddls
) - Highly compressed storage (thanks to a PyTables backend)
- Native support for scipy sparse matrices and pandas
DataFrame
,Series
andPanel
- Ability to partially read files, even slices of arrays
An example:
import deepdish as dd
d = {
'foo': np.ones((10, 20)),
'sub': {
'bar': 'a string',
'baz': 1.23,
},
}
dd.io.save('test.h5', d)
This can be reconstructed using dd.io.load('test.h5')
, or inspected through the command line using either a standard tool:
$ h5ls test.h5
foo Dataset {10, 20}
sub Group
Or, better yet, our custom tool ddls
(or python -m deepdish.io.ls
):
$ ddls test.h5
/foo array (10, 20) [float64]
/sub dict
/sub/bar 'a string' (8) [unicode]
/sub/baz 1.23 [float64]
Read more at Saving and loading data.