0
0
Pandasdata~10 mins

Selecting rows by condition in Pandas - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Selecting rows by condition
Start with DataFrame
Define condition
Apply condition to DataFrame
Get boolean mask
Filter rows where mask is True
Return filtered DataFrame
We start with a DataFrame, define a condition, apply it to get a mask, then select rows where the condition is true.
Execution Sample
Pandas
import pandas as pd

df = pd.DataFrame({'Age': [22, 35, 58, 45], 'Name': ['Ann', 'Bob', 'Cara', 'Dan']})

filtered = df[df['Age'] > 30]
print(filtered)
This code selects rows where the 'Age' column is greater than 30.
Execution Table
StepActionCondition EvaluationBoolean MaskFiltered Rows
1Create DataFrameN/AN/AAll rows: Ann(22), Bob(35), Cara(58), Dan(45)
2Define condition df['Age'] > 30Age values: [22, 35, 58, 45]Mask: [False, True, True, True]N/A
3Apply mask to dfN/AMask: [False, True, True, True]Rows: Bob(35), Cara(58), Dan(45)
4Print filtered DataFrameN/AN/ABob(35), Cara(58), Dan(45)
5EndN/AN/AFiltered DataFrame returned
💡 Filtering ends after applying condition mask; only rows with True mask remain.
Variable Tracker
VariableStartAfter Step 2After Step 3Final
dfEmptyCreated with 4 rowsUnchangedUnchanged
conditionUndefinedEvaluated to boolean maskUnchangedUnchanged
filteredUndefinedUndefinedFiltered rows assignedFiltered DataFrame with 3 rows
Key Moments - 3 Insights
Why does the boolean mask have True or False values?
The mask shows which rows meet the condition (Age > 30). True means the row satisfies the condition and will be kept (see execution_table step 2).
What happens to rows where the condition is False?
Rows with False in the mask are excluded from the filtered DataFrame (see execution_table step 3). They do not appear in the output.
Is the original DataFrame changed after filtering?
No, the original DataFrame stays the same. Filtering creates a new DataFrame with only the selected rows (see variable_tracker for 'df' and 'filtered').
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table at step 2, what is the boolean mask for the 'Age' values?
A[True, True, False, False]
B[False, True, True, True]
C[True, False, True, False]
D[False, False, False, True]
💡 Hint
Check the 'Boolean Mask' column at step 2 in the execution_table.
At which step do we get the filtered rows with only ages above 30?
AStep 3
BStep 2
CStep 1
DStep 4
💡 Hint
Look at the 'Filtered Rows' column in the execution_table to find when filtering happens.
If we change the condition to df['Age'] > 50, how would the boolean mask change at step 2?
A[True, True, True, True]
B[False, True, False, True]
C[False, False, True, False]
D[True, False, False, False]
💡 Hint
Think about which ages are greater than 50 and how that affects the mask in execution_table step 2.
Concept Snapshot
Selecting rows by condition in pandas:
Use df[condition] where condition is a boolean expression on columns.
This returns a new DataFrame with rows where condition is True.
Original DataFrame stays unchanged.
Example: df[df['Age'] > 30] filters rows with Age > 30.
Full Transcript
We start with a DataFrame containing names and ages. We define a condition to select rows where the Age is greater than 30. Applying this condition creates a boolean mask that marks True for rows meeting the condition and False otherwise. Using this mask to filter the DataFrame returns only the rows where the mask is True. The original DataFrame remains unchanged. This process helps us select specific rows based on any condition we want.