Pandas Example – Write a Pandas program to select rows by filtering on one or more column(s) in a multi-index dataframe

(Python Example for Beginners)

 

Write a Pandas program to select rows by filtering on one or more column(s) in a multi-index dataframe.

 

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, 37, 33, 30, 31, 32],
    'tcode': ['t1', 't2', 't3', 't4', 't5', 't6']})    

print("Original DataFrame:")
print(df)

print("nCreate MultiIndex on 'tcode' and 'school_code':")
df = df.set_index(['tcode', 'school_code'])
print(df)

print("nSelect rows(s) from 'tcode' column:")
print(df.query("tcode == 't2'"))

print("nSelect rows(s) from 'school_code' column:")
print(df.query("school_code == 's001'"))

print("nSelect rows(s) from 'tcode' and 'scode' columns:")
print(df.query(("tcode == 't1'") and ("school_code == 's001'")))

Sample Output:

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

Create MultiIndex on 'tcode' and 'school_code':
                  class            name date_of_birth  weight
tcode school_code                                            
t1    s001            V  Alberto Franco    15/05/2002      35
t2    s002            V    Gino Mcneill    17/05/2002      37
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

Select rows(s) from 'tcode' column:
                  class          name date_of_birth  weight
tcode school_code                                          
t2    s002            V  Gino Mcneill    17/05/2002      37

Select rows(s) from 'school_code' column:
                  class            name date_of_birth  weight
tcode school_code                                            
t1    s001            V  Alberto Franco    15/05/2002      35
t4    s001           VI    Eesha Hinton    25/09/1998      30

Select rows(s) from 'tcode' and 'scode' columns:
                  class            name date_of_birth  weight
tcode school_code                                            
t1    s001            V  Alberto Franco    15/05/2002      35
t4    s001           VI    Eesha Hinton    25/09/1998      30

 

Pandas Example – Write a Pandas program to select rows by filtering on one or more column(s) in a multi-index dataframe

Sign up to get end-to-end “Learn By Coding” example.


Two Machine Learning Fields

There are two sides to machine learning:

  • Practical Machine Learning:This is about querying databases, cleaning data, writing scripts to transform data and gluing algorithm and libraries together and writing custom code to squeeze reliable answers from data to satisfy difficult and ill defined questions. It’s the mess of reality.
  • Theoretical Machine Learning: This is about math and abstraction and idealized scenarios and limits and beauty and informing what is possible. It is a whole lot neater and cleaner and removed from the mess of reality.
Disclaimer: The information and code presented within this recipe/tutorial is only for educational and coaching purposes for beginners and developers. Anyone can practice and apply the recipe/tutorial presented here, but the reader is taking full responsibility for his/her actions. The author (content curator) of this recipe (code / program) has made every effort to ensure the accuracy of the information was correct at time of publication. The author (content curator) does not assume and hereby disclaims any liability to any party for any loss, damage, or disruption caused by errors or omissions, whether such errors or omissions result from accident, negligence, or any other cause. The information presented here could also be found in public knowledge domains.