You can use the **query()** function in pandas to extract the value in one column based on the value in another column.

This function uses the following basic syntax:

**df.query("team=='A'")["points"]**

This particular example will extract each value in the **points** column where the **team** column is equal to A.

The following examples show how to use this syntax in practice with the following pandas DataFrame:

import pandas as pd #create DataFrame df = pd.DataFrame({'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], 'position': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'], 'points': [11, 28, 10, 26, 6, 25, 29, 12]}) #view DataFrame print(df) team position points 0 A G 11 1 A G 28 2 A F 10 3 A F 26 4 B G 6 5 B G 25 6 B F 29 7 B F 12

**Example 1: Extract Column Values Based on One Condition Being Met**

The following code shows how to extract each value in the **points** column where the value in the **team** column is equal to ‘A’:

#extract each value in points column where team is equal to 'A' df.query("team=='A'")["points"] 0 11 1 28 2 10 3 26 Name: points, dtype: int64

This function returns all four values in the **points** column where the corresponding value in the **team** column is equal to ‘A’.

**Example 2: Extract Column Values Based on One of Several Conditions Being Met**

The following code shows how to extract each value in the **points** column where the value in the **team** column is equal to ‘A’ *or* the value in the **position** column is equal to ‘G’:

#extract each value in points column where team is 'A' or position is 'G' df.query("team=='A' | position=='G'")["points"] 0 11 1 28 2 10 3 26 4 6 5 25 Name: points, dtype: int64

This function returns all six values in the **points** column where the corresponding value in the **team** column is equal to ‘A’ *or* the value in the **position** column is equal to ‘G’.

**Example 3: Extract Column Values Based on Several Conditions Being Met**

The following code shows how to extract each value in the **points** column where the value in the **team** column is equal to ‘A’ *and *the value in the **position** column is equal to ‘G’:

#extract each value in points column where team is 'A' and position is 'G' df.query("team=='A' & position=='G'")["points"] 0 11 1 28 Name: points, dtype: int64

This function returns the two values in the **points** column where the corresponding value in the **team** column is equal to ‘A’ *and *the value in the **position** column is equal to ‘G’.

**Additional Resources**

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

Pandas: How to Select Columns Based on Condition

Pandas: Drop Rows Based on Multiple Conditions

Pandas: Update Column Values Based on Another DataFrame

Exactly what I needed. Thanks