jcmgray / xyzpy

Efficiently generate and analyse high dimensional data.
http://xyzpy.readthedocs.io
MIT License
66 stars 11 forks source link
distributed multidimensional-arrays pandas parallel plot xarray

xyzpy logo

tests codecov Codacy Badge Docs PyPI Anaconda-Server Badge


xyzpy is python library for efficiently generating, manipulating and plotting data with a lot of dimensions, of the type that often occurs in numerical simulations. It stands wholly atop the labelled N-dimensional array library xarray. The project's documentation is hosted on readthedocs.

The aim is to take the pain and errors out of generating and exploring data with a high number of possible parameters. This means:

As well as the ability to automatically parallelize over runs, xyzpy provides the Crop object that allows runs and results to be written to disk, these can then be run by any process with access to the files - e.g. a batch system such as SGE, PBS or SLURM - or just serve as a convenient persistent progress mechanism.

Once your data has been aggregated into a xarray.Dataset or pandas.DataFrame there exists many powerful visualization tools such as seaborn, altair and holoviews / hvplot. To these xyzpy adds also a simple 'oneliner' interface for interactively plotting the data using bokeh, or for static, publication ready figures using matplotlib, whilst being able to see the dependence on up to 4 dimensions at once.

example

Please see the docs for more information.