Filtrar Pandas DataFrame con múltiples condiciones
- Filtrar entradas de un DataFrame basado en múltiples condiciones utilizando la indexación
-
Filtrar entradas de un DataFrame basado en múltiples condiciones usando el método
query()

Este tutorial explica cómo podemos filtrar las entradas de un DataFrame basándonos en múltiples condiciones.
Utilizaremos el siguiente DataFrame en este artículo.
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)
Producción :
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Filtrar entradas de un DataFrame basado en múltiples condiciones utilizando la indexación
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)
Producción :
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
Filtra todas las entradas en el stocks_df
, cuyo valor de la columna Sector
es Technology
y el valor de la columna Price
es inferior a 500.
Especificamos las condiciones dentro de []
conectando las condiciones mediante el operador &
o el operador |
para indexar los valores basándose en múltiples condiciones. El operador &
representa la lógica y
, lo que significa que ambas condiciones deben ser verdaderas para seleccionar una entrada. El operador |
representa la lógica o
, es decir, si se cumple alguna de las condiciones para seleccionar la entrada.
Filtrar entradas de un DataFrame basado en múltiples condiciones usando el método query()
Pasamos las condiciones múltiples conectadas por el operador &
o el operador |
como un argumento al método 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)
Producción :
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