pandas.MultiIndex.from_frame — pandas 2.2.3 documentation (original) (raw)
classmethod MultiIndex.from_frame(df, sortorder=None, names=None)[source]#
Make a MultiIndex from a DataFrame.
Parameters:
dfDataFrame
DataFrame to be converted to MultiIndex.
sortorderint, optional
Level of sortedness (must be lexicographically sorted by that level).
nameslist-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.
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'])