Q:

Python Pandas | Create a DataFrame with the levels of the MultiIndex as columns and substitute index level names

belongs to collection: Python Pandas Programs

0

Create a DataFrame with the levels of the MultiIndex as columns and substitute index level names

The pandas.MultiIndex.to_frame() method is used for this purpose i.e., to create a DataFrame with the levels of the MultiIndex as columns.

Syntax:

MultiIndex.to_frame(index=True, name=NoDefault.no_default)

The method accepts two parameters, index which is a bool type having default value True, it sets the index of returned DataFrame constructor with data as a dict. The second parameter is the name (optional) which is a list or sequence of str, the passed names should substitute index level names. The method returns a DataFrame containing the original MultiIndex data.

To work with MultiIndex in Python Pandas, we need to import the pandas library. Below is the syntax,

import pandas as pd

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Python code to create a DataFrame with the levels of the MultiIndex as columns

# Import the pandas package
import pandas as pd

# Create arrays
employees = [
        ['E101', 'E102', 'E102', 'E103'],
        ['Alex', 'Alvin', 'Deniel', 'Jenny'],
    ]

# create a Multiindex using  from_arrays() 
mi = pd.MultiIndex.from_arrays(employees, names=('emp_id', 'name'))

# display the Multiindex
print("The MultiIndex...\n",mi)
print()

# Get the levels in MultiIndex
print("The levels in MultiIndex...\n",mi.levels)
print()

# Create a DataFrame
df = mi.to_frame(name=['Emp. ID', 'Emp. Name'])

# Print the DataFrame
print("The DataFrame is...\n", df)

Output:

The MultiIndex...
 MultiIndex([('E101',   'Alex'),
            ('E102',  'Alvin'),
            ('E102', 'Deniel'),
            ('E103',  'Jenny')],
           names=['emp_id', 'name'])

The levels in MultiIndex...
 [['E101', 'E102', 'E103'], ['Alex', 'Alvin', 'Deniel', 'Jenny']]

The DataFrame is...
               Emp. ID Emp. Name
emp_id name                    
E101   Alex      E101      Alex
E102   Alvin     E102     Alvin
       Deniel    E102    Deniel
E103   Jenny     E103     Jenny

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

Python Pandas Programs

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
Python Pandas | Adding new column to existing Data... >>
<< Python Pandas | Return MultiIndex with multiple le...