You can use the **&** symbol as an “AND” operator in pandas.

For example, you can use the following basic syntax to filter for rows in a pandas DataFrame that satisfy condition 1 **and **condition 2:

df[(condition1) & (condition2)]

The following examples show how to use this “AND” operator in different scenarios.

**Example 1: Use “AND” Operator to Filter Rows Based on Numeric Values in Pandas**

Suppose we have the following pandas DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'], 'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'rebounds': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print(df) team points assists rebounds 0 A 25 5 11 1 A 12 7 8 2 B 15 7 10 3 B 14 9 6 4 B 19 12 6 5 B 23 9 5 6 C 25 9 9 7 C 29 4 12

We can use the following syntax to filter for rows in the DataFrame where the value in the points column is greater than 20 **and **the value in the assists column is equal to 9:

#filter rows where points > 20 and assists = 9 df[(df.points > 20) & (df.assists == 9)] team points assists rebounds 5 B 23 9 5 6 C 25 9 9

The only rows returned are the ones where the points value is greater than 20 **and **the assists value is equal to 9.

**Example 2: Use “AND” Operator to Filter Rows Based on String Values in Pandas**

Suppose we have the following pandas DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], 'position': ['G', 'G', 'F', 'F', 'C', 'F', 'C', 'C'], 'conference': ['W', 'W', 'W', 'W', 'E', 'E', 'E', 'E'], 'points': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print(df) team position conference points 0 A G W 11 1 B G W 8 2 C F W 10 3 D F W 6 4 E C E 6 5 F F E 5 6 G C E 9 7 H C E 12

We can use the following syntax to filter for rows in the DataFrame where the value in the position column is equal to G **and** the value in the conference column is equal to W:

#filter rows based on string values df[(df.position == 'G') & (df.conference == 'W')] team position conference points 0 A G W 11 1 B G W 8

The only rows returned are the ones where the position column is equal to G **and** the conference column is equal to W.

**Additional Resources**

The following tutorials explain how to perform other common tasks in pandas:

How to Use “OR” Operator in Pandas

How to Filter Pandas DataFrame Rows by Date

How to Filter a Pandas DataFrame by Column Values