pandas.MultiIndex.to_frame#

MultiIndex.to_frame(index=True, name=<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.

Added in version 1.5.0.

Returns:
DataFrame

DataFrame representation of the MultiIndex, with levels as columns.

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