MultiIndex.
from_frame
Make a MultiIndex from a DataFrame.
New in version 0.24.0.
DataFrame to be converted to MultiIndex.
Level of sortedness (must be lexicographically sorted by that level).
If no names are provided, use the column names, or tuple of column names if the columns is a MultiIndex. If a sequence, overwrite names with the given sequence.
The MultiIndex representation of the given DataFrame.
See also
MultiIndex.from_arrays
Convert list of arrays to MultiIndex.
MultiIndex.from_tuples
Convert list of tuples to MultiIndex.
MultiIndex.from_product
Make a MultiIndex from cartesian product of iterables.
Examples
>>> df = pd.DataFrame([['HI', 'Temp'], ['HI', 'Precip'], ... ['NJ', 'Temp'], ['NJ', 'Precip']], ... columns=['a', 'b']) >>> df a b 0 HI Temp 1 HI Precip 2 NJ Temp 3 NJ Precip
>>> pd.MultiIndex.from_frame(df) MultiIndex([('HI', 'Temp'), ('HI', 'Precip'), ('NJ', 'Temp'), ('NJ', 'Precip')], names=['a', 'b'])
Using explicit names, instead of the column names
>>> pd.MultiIndex.from_frame(df, names=['state', 'observation']) MultiIndex([('HI', 'Temp'), ('HI', 'Precip'), ('NJ', 'Temp'), ('NJ', 'Precip')], names=['state', 'observation'])