HOWTO · Pandas
Filtro Pandas DataFrame Com Múltiplas Condições
Este tutorial explica como podemos filtrar entradas de um DataFrame com base em múltiplas condições.
Nesta página
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