Filtrer les Pandas DataFrame avec des conditions multiples
- Filtrer les entrées d’un DataFrame basé sur des conditions multiples en utilisant l’indexation
-
Filtrer les entrées d’une DataFrame basée sur des conditions multiples en utilisant la méthode
query()
Ce tutoriel explique comment nous pouvons filtrer les entrées d’un DataFrame en fonction de plusieurs conditions.
Nous utiliserons le DataFrame ci-dessous dans cet article.
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Tesla", "Moderna Inc", "Facebook", "Boeing"],
"Price": [835, 112, 267, 209],
"Sector": ["Technology", "Health Technology", "Technology", "Aircraft"],
}
)
print(stocks_df)
Production :
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Filtrer les entrées d’un DataFrame basé sur des conditions multiples en utilisant l’indexation
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Tesla", "Moderna Inc", "Facebook", "Boeing"],
"Price": [835, 112, 267, 209],
"Sector": ["Technology", "Health Technology", "Technology", "Aircraft"],
}
)
print("Stocks DataFrame:")
print(stocks_df, "\n")
reqd_stocks = stocks_df[(stocks_df.Sector == "Technology") & (stocks_df.Price < 500)]
print("The stocks of technology sector with price less than 500 are:")
print(reqd_stocks)
Production :
Stocks DataFrame:
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
The stocks of technology sector with price less than 500 are:
Stock Price Sector
2 Facebook 267 Technology
Il filtre toutes les entrées dans le stocks_df
, dont la valeur de la colonne Sector
est Technology
et la valeur de la colonne Price
est inférieure à 500.
Nous spécifions les conditions à l’intérieur de []
reliant les conditions en utilisant l’opérateur &
ou |
pour indexer les valeurs basées sur des conditions multiples. L’opérateur &
représente la logique et
, ce qui signifie que les deux conditions doivent être vraies pour sélectionner une entrée. L’opérateur |
représente l’opérateur logique ou
signifiant qu’une condition quelconque est satisfaite pour sélectionner l’entrée.
Filtrer les entrées d’une DataFrame basée sur des conditions multiples en utilisant la méthode query()
Nous passons les multiples conditions connectées par l’opérateur &
ou |
comme argument à la méthode query()
.
import pandas as pd
stocks_df = pd.DataFrame(
{
"Stock": ["Tesla", "Moderna Inc", "Facebook", "Boeing"],
"Price": [835, 112, 267, 209],
"Sector": ["Technology", "Health Technology", "Technology", "Aircraft"],
}
)
print("Stocks DataFrame:")
print(stocks_df, "\n")
reqd_stocks = stocks_df.query("Sector == 'Technology' & Price <500")
print("The stocks of technology sector with price less than 500 are:")
print(reqd_stocks)
Production :
Stocks DataFrame:
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
The stocks of technology sector with price less than 500 are:
Stock Price Sector
2 Facebook 267 Technology
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn