Filtro Pandas DataFrame Com Múltiplas Condições
- Filtrar entradas de um DataFrame com base em múltiplas condições utilizando a Indexação
-
Filtrar entradas de um Quadro de Dados com base em múltiplas condições utilizando o método
query()
![Filtro Pandas DataFrame Com Múltiplas Condições](/img/Python-Pandas/feature-image---pandas-multiple-conditions.webp)
Este tutorial explica como podemos filtrar entradas de um DataFrame com base em múltiplas condições.
Utilizaremos a DataFrame abaixo neste artigo.
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)
Resultado:
Stock Price Sector
0 Tesla 835 Technology
1 Moderna Inc 112 Health Technology
2 Facebook 267 Technology
3 Boeing 209 Aircraft
Filtrar entradas de um DataFrame com base em múltiplas condições utilizando a Indexação
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)
Resultado:
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 as entradas no stocks_df
, cujo valor da coluna Sector
é Technology
e o valor da coluna Price
é inferior a 500.
Especificamos as condições dentro de []
ligando as condições utilizando o &
ou o operador |
para indexar os valores com base em múltiplas condições. O operador &
representa a lógica e
, o que significa que ambas as condições devem ser verdadeiras para seleccionar uma entrada. O operador |
representa a lógica and
que significa se alguma condição é satisfeita para seleccionar a entrada.
Filtrar entradas de um Quadro de Dados com base em múltiplas condições utilizando o método query()
Passamos as múltiplas condições ligadas pelo operador &
ou pelo operador |
como argumento para o 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)
Resultado:
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