Documentation is here for the axes
parameter.
Storing a > 2 dim object (a Panel is 3 dim) flattens the object into a table structure, where (in this case), the major_axis
and minor_axis
are the indices. The items
axis are the 'columns' in the table.
So appending is allowed on any of the indices, hence you can append a new panel that has changed major and/or minor axes. However the items axis is fixed the first time that a table is appended.
To achieve efficiency, PyTables/HDF5 requires this fixed dimension.
You can specify different axes to append if you would like, eg. axes=['items','major_axis']
or simply transpose the panel to get it in the form that you need. This is a parameter that must be specified on the first append.
You can view the structure that is created with ptdump -av <file.h5>
.