pandas.MultiIndex.to_frame

MultiIndex.to_frame(index=True, name=_NoDefault.no_default, allow_duplicates=False)[source]

Create a DataFrame with the levels of the MultiIndex as columns.

Column ordering is determined by the DataFrame constructor with data as a dict.

Parameters:
indexbool, default True

Set the index of the returned DataFrame as the original MultiIndex.

namelist / sequence of str, optional

The passed names should substitute index level names.

allow_duplicatesbool, optional default False

Allow duplicate column labels to be created.

New in version 1.5.0.

Returns:
DataFramea DataFrame containing the original MultiIndex data.

See also

DataFrame

Two-dimensional, size-mutable, potentially heterogeneous tabular data.

Examples

>>> mi = pd.MultiIndex.from_arrays([['a', 'b'], ['c', 'd']])
>>> mi
MultiIndex([('a', 'c'),
            ('b', 'd')],
           )
>>> df = mi.to_frame()
>>> df
     0  1
a c  a  c
b d  b  d
>>> df = mi.to_frame(index=False)
>>> df
   0  1
0  a  c
1  b  d
>>> df = mi.to_frame(name=['x', 'y'])
>>> df
     x  y
a c  a  c
b d  b  d