Selecting multiple columns based on conditional values

Create a DataFrame with data

import pandas as pd import numpy as np df = pd.DataFrame() df['Name'] = ['John', 'Doe', 'Bill','Jim','Harry','Ben'] df['TotalMarks'] = [82, 38, 63,22,55,40] df['Grade'] = ['A', 'E', 'B','E','C','D'] df['Promoted'] = [True, False,True,False,True,True]
Name TotalMarks Grade Promoted 0 John 82 A True 1 Doe 38 E False 2 Bill 63 B True 3 Jim 22 E False 4 Harry 55 C True 5 Ben 40 D True

Select all column with conditional values

example-1
df[df['Grade'] == 'E']
Name TotalMarks Grade Promoted 1 Doe 38 E False 3 Jim 22 E False
example-2
df[df['TotalMarks'] > 50]
Name TotalMarks Grade Promoted 0 John 82 A True 2 Bill 63 B True 4 Harry 55 C True

Select two columns with conditional values

df[['Name','TotalMarks']] [df['Promoted'] == True]
Name TotalMarks 0 John 82 2 Bill 63 4 Harry 55 5 Ben 40

Select all column with multiple conditional values

df[(df['TotalMarks'] > 50) & (df['TotalMarks'] < 80) ]
Name TotalMarks Grade Promoted 2 Bill 63 B True 4 Harry 55 C True

Select two column with multiple conditional values

example-1
df[['Name','TotalMarks']][(df["Promoted"] == True) & (df["Grade"] == 'A')]
Name TotalMarks 0 John 82
example-2
df[['Name','TotalMarks']] [(df['TotalMarks'] > 50) & (df['TotalMarks'] < 80) ]
Name TotalMarks 2 Bill 63 4 Harry 55

How to Select multiple columns based on conditional values pandas dataframe

Using isin()

Pandas isin() method is used to check each element in the DataFrame is contained in values or not.

df[df.Grade.isin(['E'])]
Name TotalMarks Grade Promoted 1 Doe 38 E False 3 Jim 22 E False

isin() with multiple values

filter = df['Grade'].isin(['A', 'B']) df[filter]
Name TotalMarks Grade Promoted 0 John 82 A True 2 Bill 63 B True

Also, you can retrieve data of selected columns using isin and loc

df.loc[df['Grade'].isin(['A', 'B']),['Name','TotalMarks', 'Grade'] ]
Name TotalMarks Grade 0 John 82 A 2 Bill 63 B