Home > Backend Development > Python Tutorial > How to Select Pandas DataFrame Rows Based on Complex Multi-Column Criteria?

How to Select Pandas DataFrame Rows Based on Complex Multi-Column Criteria?

DDD
Release: 2024-12-01 21:07:11
Original
578 people have browsed it

How to Select Pandas DataFrame Rows Based on Complex Multi-Column Criteria?

Selecting with complex criteria from pandas.DataFrame

In data analysis using Pandas, we often need to select specific rows or columns based on complex criteria. This question demonstrates how to select values from column 'A' given corresponding values for 'B' and 'C' meet certain conditions.

To understand the problem, let's create an example DataFrame:

import pandas as pd
from random import randint

df = pd.DataFrame({'A': [randint(1, 9) for x in range(10)],
                   'B': [randint(1, 9)*10 for x in range(10)],
                   'C': [randint(1, 9)*100 for x in range(10)]})
Copy after login

Now, we want to select values from 'A' that satisfy the following conditions:

  • The corresponding value for 'B' should be greater than 50.
  • The corresponding value for 'C' should not be equal to 900.

To solve this, we can use Pandas' column operations:

df["B"] > 50
Copy after login

This creates a boolean Series object where each element corresponds to a row in 'B' and indicates whether the respective 'B' value is greater than 50.

(df["B"] > 50) & (df["C"] != 900)
Copy after login

This leverages broadcasting and logical operators to combine the boolean Series objects, creating a new Series where each element indicates whether the corresponding row meets both conditions.

Using this Series as an index, we can extract the 'A' values:

df["A"][(df["B"] > 50) & (df["C"] != 900)]
Copy after login

Alternatively, using .loc syntax:

df.loc[(df["B"] > 50) & (df["C"] != 900), "A"]
Copy after login

This approach efficiently extracts rows that meet the specified criteria, enabling further analysis or operations on the selected data.

The above is the detailed content of How to Select Pandas DataFrame Rows Based on Complex Multi-Column Criteria?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template