Python Pandas - Return vector of label values for requested level in a MultiIndex


To return vector of label values for requested level in a MultiIndex, use the multiIndex.get_level_values() method. Set the level name as an argument.

At first, import the required libraries −

import pandas as pd

MultiIndex is a multi-level, or hierarchical, index object for pandas objects −

multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])

Display the MultiIndex −

print("The MultiIndex...\n",multiIndex)

Get the levels in MultiIndex −

print("\nThe levels in MultiIndex...\n",multiIndex.levels)

Get level values at level 0 −

print("\nLevel values...\n",multiIndex.get_level_values(0))

Example

Following is the code −

import pandas as pd

# MultiIndex is a multi-level, or hierarchical, index object for pandas objects
multiIndex = pd.MultiIndex.from_arrays([list('pqrrss'), list('strvwx')],names=['One', 'Two'])

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

# get the levels in MultiIndex
print("\nThe levels in MultiIndex...\n",multiIndex.levels)

# get level values at level 0
print("\nLevel values...\n",multiIndex.get_level_values(0))

# get level values with level name "Two"
print("\nLevel values...\n",multiIndex.get_level_values("Two"))

Output

This will produce the following output −

The MultiIndex...
MultiIndex([('p', 's'),
            ('q', 't'),
            ('r', 'r'),
            ('r', 'v'),
            ('s', 'w'),
            ('s', 'x')],
            names=['One', 'Two'])

The levels in MultiIndex...
   [['p', 'q', 'r', 's'], ['r', 's', 't', 'v', 'w', 'x']]

Level values...
   Index(['p', 'q', 'r', 'r', 's', 's'], dtype='object', name='One')

Level values...
   Index(['s', 't', 'r', 'v', 'w', 'x'], dtype='object', name='Two')

Updated on: 19-Oct-2021

168 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements