pandas.MultiIndex.from_frame¶
-
classmethod
MultiIndex.
from_frame
(df, sortorder=None, names=None)[source]¶ Make a MultiIndex from a DataFrame.
New in version 0.24.0.
Parameters: - df : DataFrame
DataFrame to be converted to MultiIndex.
- sortorder : int, optional
Level of sortedness (must be lexicographically sorted by that level).
- names : list-like, optional
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.
Returns: - MultiIndex
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(levels=[['HI', 'NJ'], ['Precip', 'Temp']], codes=[[0, 0, 1, 1], [1, 0, 1, 0]], names=['a', 'b'])
Using explicit names, instead of the column names
>>> pd.MultiIndex.from_frame(df, names=['state', 'observation']) MultiIndex(levels=[['HI', 'NJ'], ['Precip', 'Temp']], codes=[[0, 0, 1, 1], [1, 0, 1, 0]], names=['state', 'observation'])