Filtering with Conditions (and, or, isin, query)
Setup
Setup DataFrame
import pandas as pd
df = pd.DataFrame({
"name": ["Asha", "Ravi", "Meera", "Zoya", "Kabir"],
"age": [23, 28, 26, 31, 22],
"city": ["Pune", "Delhi", "Delhi", "Pune", "Mumbai"],
"score": [88, 91, 77, 95, 60],
})
print(df)Setup DataFrame
import pandas as pd
df = pd.DataFrame({
"name": ["Asha", "Ravi", "Meera", "Zoya", "Kabir"],
"age": [23, 28, 26, 31, 22],
"city": ["Pune", "Delhi", "Delhi", "Pune", "Mumbai"],
"score": [88, 91, 77, 95, 60],
})
print(df)Basic boolean filtering
Single condition
print(df[df["age"] >= 25])Single condition
print(df[df["age"] >= 25])Multiple conditions: AND / OR
Pandas uses bitwise operators:
- AND:
&& - OR:
||
Always use parentheses:
AND filter
mask = (df["city"] == "Delhi") & (df["score"] >= 80)
print(df[mask])AND filter
mask = (df["city"] == "Delhi") & (df["score"] >= 80)
print(df[mask])OR filter
mask = (df["city"] == "Mumbai") | (df["score"] >= 90)
print(df[mask])OR filter
mask = (df["city"] == "Mumbai") | (df["score"] >= 90)
print(df[mask])isin()isin() for membership checks
isin
mask = df["city"].isin(["Pune", "Delhi"])
print(df[mask])isin
mask = df["city"].isin(["Pune", "Delhi"])
print(df[mask])between()between() for range filters
between
mask = df["age"].between(23, 30, inclusive="both")
print(df[mask])between
mask = df["age"].between(23, 30, inclusive="both")
print(df[mask])query()query() for readable filters
query()query() can be easier to read, especially in notebooks.
query
result = df.query('city == "Delhi" and score >= 80')
print(result)query
result = df.query('city == "Delhi" and score >= 80')
print(result)Variables inside query
query with variable
min_score = 85
result = df.query('score >= @min_score')
print(result)query with variable
min_score = 85
result = df.query('score >= @min_score')
print(result)Common mistakes
- Using
andand/ororinstead of&&/||(will error) - Forgetting parentheses around conditions
- Comparing strings with extra spaces (clean using
.str.strip().str.strip())
๐งช Try It Yourself
Exercise 1 โ Create a DataFrame
Exercise 2 โ Select a Column
Exercise 3 โ Filter Rows
If this helped you, consider buying me a coffee โ
Buy me a coffeeWas this page helpful?
Let us know how we did
