11.7 C
London
Sunday, May 19, 2024
HomePandas in PythonGeneral Functions in PythonPandas: Extract Column Value Based on Another Column

Pandas: Extract Column Value Based on Another Column

Related stories

Learn About Opening an Automobile Repair Shop in India

Starting a car repair shop is quite a good...

Unlocking the Power: Embracing the Benefits of Tax-Free Investing

  Unlocking the Power: Embracing the Benefits of Tax-Free Investing For...

Income Splitting in Canada for 2023

  Income Splitting in Canada for 2023 The federal government’s expanded...

Can I Deduct Home Office Expenses on my Tax Return 2023?

Can I Deduct Home Office Expenses on my Tax...

Canadian Tax – Personal Tax Deadline 2022

  Canadian Tax – Personal Tax Deadline 2022 Resources and Tools...

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

Subscribe

- Never miss a story with notifications

- Gain full access to our premium content

- Browse free from up to 5 devices at once

Latest stories