w3resource

Pandas: Check if a value exists in single/multiple columns index dataframe

Pandas Indexing: Exercise-11 with Solution

Write a Pandas program to check if a specified value exists in single and multiple column index dataframe.

Test Data:

0        s001     V  Alberto Franco     15/05/2002      35  street1   t1
1        s002     V    Gino Mcneill     17/05/2002      32  street2   t2
2        s003    VI     Ryan Parkes     16/02/1999      33  street3   t3
3        s001    VI    Eesha Hinton     25/09/1998      30  street1   t4
4        s002     V    Gino Mcneill     11/05/2002      31  street2   t5
5        s004    VI    David Parkes     15/09/1997      32  street4   t6

Sample Solution:

Python Code :

import pandas as pd
df = pd.DataFrame({
    'school_code': ['s001','s002','s003','s001','s002','s004'],
    'class': ['V', 'V', 'VI', 'VI', 'V', 'VI'],
    'name': ['Alberto Franco','Gino Mcneill','Ryan Parkes', 'Eesha Hinton', 'Gino Mcneill', 'David Parkes'],
    'date_of_birth': ['15/05/2002','17/05/2002','16/02/1999','25/09/1998','11/05/2002','15/09/1997'],
    'weight': [35, 32, 33, 30, 31, 32]},
     index =  ['t1', 't2', 't3', 't4', 't5', 't6'])
print("Original DataFrame with single index:")
print(df)
print("\nCheck a value is exist in single column index dataframe:")
print('t1' in df.index)
print('t11' in df.index)
print("\nCreate MultiIndex using columns 't_id', ‘school_code’ and 'class':")
df = pd.DataFrame({
    'school_code': ['s001','s002','s003','s001','s002','s004'],
    'class': ['V', 'V', 'VI', 'VI', 'V', 'VI'],
    'name': ['Alberto Franco','Gino Mcneill','Ryan Parkes', 'Eesha Hinton', 'Gino Mcneill', 'David Parkes'],
    'date_of_birth': ['15/05/2002','17/05/2002','16/02/1999','25/09/1998','11/05/2002','15/09/1997'],
    'weight': [35, 32, 33, 30, 31, 32],
    't_id': ['t1', 't2', 't3', 't4', 't5', 't6']})
df1 = df.set_index(['t_id', 'school_code', 'class'])
print(df1)
print("\nCheck a value is exist in multiple columns index dataframe:")
print('t4' in df1.index.levels[0])
print('t4' in df1.index.levels[1])
print('t4' in df1.index.levels[2])

Sample Output:

Original DataFrame with single index:
   school_code class            name date_of_birth  weight
t1        s001     V  Alberto Franco    15/05/2002      35
t2        s002     V    Gino Mcneill    17/05/2002      32
t3        s003    VI     Ryan Parkes    16/02/1999      33
t4        s001    VI    Eesha Hinton    25/09/1998      30
t5        s002     V    Gino Mcneill    11/05/2002      31
t6        s004    VI    David Parkes    15/09/1997      32

Check a value is exist in single column index dataframe:
True
False

Create MultiIndex using columns 't_id', ‘school_code’ and 'class':
                                  name date_of_birth  weight
t_id school_code class                                      
t1   s001        V      Alberto Franco    15/05/2002      35
t2   s002        V        Gino Mcneill    17/05/2002      32
t3   s003        VI        Ryan Parkes    16/02/1999      33
t4   s001        VI       Eesha Hinton    25/09/1998      30
t5   s002        V        Gino Mcneill    11/05/2002      31
t6   s004        VI       David Parkes    15/09/1997      32

Check a value is exist in multiple columns index dataframe:
True
False
False 

Python Code Editor:

Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Pandas program to convert 1st and 3rd levels in the index into columns from a multiple level of index frame of a given dataframe.

Next: Write a Pandas program to construct a series using the MultiIndex levels as the column and index.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.