Stacking and unstacking
Similar to the pivot function are the .stack()
and .unstack()
methods. The process of stacking pivots a level of column labels to the row index. Unstacking performs the opposite, that is, pivoting a level of the row index into the column index.
One of the differences between stacking/unstacking and performing a pivot is that unlike pivots, the stack and unstack functions are able to pivot specific levels of a hierarchical index. Also, where a pivot retains the same number of levels on an index, a stack and unstack always increases the levels on the index of one of the axes (columns for unstacking and rows for stacking) and decrease the levels on the other axis.
Stacking using non-hierarchical indexes
To demonstrate stacking, we will look at several examples using a DataFrame
object with non-hierarchical indexes. We will begin our examples using the following DataFrame
:

Stacking will move one level of the column's index into a new level of the row's index. As our DataFrame...