pydata/pandas — pull request #2242 by jreback (2012-11-14 04:29:16+00:00)
Title: Panelnd

## Panel4D

( note - this superseeds the prior branch, FDPanel and this is 0.9rc1 compatible)

Panel4D is like a Panel object, but provides 4 dimensions
labels, items, major_axis, minor_axis

instead of using a dict of Panels to hold data, the Panel4D provides a convenient represenation in pandas space with named dimensions to allow easy axis swapping and slicing

# testing

tests/test_panel4d.py provides a similar methodology to test_panel.py

Panel4D required an overhall of many methods in panel.py and one change in core/index.py (regarding multi-indexing)
almost all methods in a Panel are extended to Panel4D (with the exception in that Panel
now allows a multi-axis on axis 0)

docstrings need to be refreshed a bit and made a bit more general

all tests that are not skipped pass (tested with 0.9rc1)

join is a work in progress

# further

panelnd.py provides a factory function for creation of generic panel-like ND structures with custom named dimensions
(this works, but not fully tested - examples are in the docstring)