Pandas DataFrame: stack() function

DataFrame - stack() function

The stack() function is used to stack the prescribed level(s) from columns to index.

Return a reshaped DataFrame or Series having a multi-level index with one or more new inner-most levels compared to the current DataFrame. The new inner-most levels are created by pivoting the columns of the current dataframe:

  • if the columns have a single level, the output is a Series;
  • if the columns have multiple levels, the new index level(s) is (are) taken from the prescribed level(s) and the output is a DataFrame.

The new index levels are sorted.


DataFrame.stack(self, level=-1, dropna=True)


Name Description Type/Default Value Required / Optional
level          Level(s) to stack from the column axis onto the index axis, defined as one index or label, or a list of indices or labels. int, str, list
Default Value: 1
dropna  Whether to drop rows in the resulting Frame/Series with missing values. Stacking a column level onto the index axis can create combinations of index and column values that are missing from the original dataframe.  bool
Default Value: True

Returns: DataFrame or Series
Stacked dataframe or series.


Download the Pandas DataFrame Notebooks from here.

Previous: DataFrame - nsmallest() function
Next: DataFrame - unstack() function

Follow us on Facebook and Twitter for latest update.