A panel is an important container for 3-D data. It is somewhat less used and it is responsible for the name pandas pan(el)-da(ta)-s. Nowadays Panel is not used and is also not available on the newer version of Python. Panels are replaced by the multi-index properties of dataframe. Its 3 axes are named to so that they describe the operations that are performed on them.
- items: axis 0, each item corresponds to a DataFrame contained inside
- major_axis: axis 1, it is the index (rows) of each of the DataFrames
- minor_axis: axis 2, it is the columns of each of the DataFrames
Construction of Panels works about like you would expect:
From 3D ndarray
For the construction of the panel from 3d ndarray 3 parameters are passed for each of the axes.
From dict of Dataframe Objects
A dictionary of dataframe can also be used for the construction of Panel.
Note: – Values in dataframe need only be convertible to dataframe. Thus they can be of the other valid inputs to dataframe as per above.
Selection/ Deletion/ Addition
A panel is a dict of dataframes just like dataframe is dict of series. Selecting a particular dataframe is same as selecting a key in the dict i.e by using square brackets.
The addition is also same as of the dict i.e just by giving the name of the dataframe in the square brackets and assigning the dataframe.
Deletion is also same as dict.
A Panel can be rearranged using its transpose method.
Indexing and Selection
We can select any of the dataframe from a panel by using square brackets just like dict. But when slicing over major or minor axis we use two functions major_xs and minor_xs.
Conversion to Dataframe
A Panel can be converted to a multi-indexed dataframe by where the axis of the panel will form the first index and each dataframe in the major axis will form the second index.
Over the last few years, pandas has increased in both breadth and depth, with new features, datatype support, and manipulation routines. As a result, supporting efficient indexing and functional routines for Series, Dataframe and Panel has contributed to an increasingly fragmented and difficult-to-understand codebase.
The 3-D structure of a Panel is much less common for many types of data analysis than the 1-D of the Series or the 2-D of the Dataframe. Going forward it makes sense for pandas to focus on these areas exclusively.
Oftentimes, one can simply use a MultiIndex Dataframe for easily working with higher dimensional data.
In addition, the xarray package was built from the ground up, specifically in order to support the multi-dimensional analysis that is one of Panels main use cases. Here is a link to the xarray panel-transition documentation