pydata/pandas — pull request #1860 by jreback (2012-09-08 00:29:40+00:00)
Title: added a FDPanel object, a 4 dimensional pandas container

a FDPanel 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 FDPanel provides a convenient represenation in pandas space
with named dimensions to allow easy axis swapping and slicing

see examples/4D Example 2.pdf for creation and usage

motivation
----------
io/pytables currently provides a nice representation of a table to store a Panel object directly (assume item x major (dates) x minor)
FDPanel allows many named tables to represent a collection of these tables in a single hdf5 file

testing
-------
tests/test_fdpanel.py provides a similar methodology to test_panel.py

FDPanel is completely self contained (in core/fdpanel.py), with the exception of a single change that was needed in core/indexing.py (regarding multi indexing)

all tests that are not skipped pass (some were skipped due to deprecation of some panel like terms that are somewhat confusing in a 4D representation, e.g. minor_xs,major_xs)
some code in panel.py could be changed to avoid some method duplication in fdpanel.py (e.g. _prep_ndarray, hard coding of some axes)

this was based originally on 0.7.3 (but currently working on 0.9.dev)