Python é uma ótima linguagem para fazer análise de dados, principalmente por causa do fantástico ecossistema de pacotes Python centrados em dados. Pandas é um daqueles pacotes que tornam a importação e análise de dados muito mais fácil.

A análise de dados requer muitas operações de filtragem. O Pandas fornece muitos métodos para filtrar um quadro de dados e Dataframe.query()é um deles.

Sintaxe: DataFrame.query (expr, inplace = False, ** kwargs)

Parâmetros:
expr: Expressão em formato de string para filtrar dados.
inplace: Faça alterações no quadro de dados original se True
kwargs: Outros argumentos de palavra-chave.

Tipo de retorno: quadro de dados filtrado



Para baixar o arquivo CSV utilizado, clique aqui.

Nota: o Dataframe.query() método só funciona se o nome da coluna não tiver espaços vazios. Portanto, antes de aplicar o método, os espaços nos nomes das colunas são substituídos por '_'

Exemplo # 1: Filtragem de condição única

Neste exemplo, os dados são filtrados com base em uma única condição. Antes de aplicar o método query(), os espaços nos nomes das colunas foram substituídos por '_'.

# importing pandas package
import pandas as pd
  
# making data frame from csv file 
data = pd.read_csv("employees.csv")
  
# replacing blank spaces with '_' 
data.columns =[column.replace(" ", "_") for column in data.columns]
  
# filtering with query method
data.query('Senior_Management == True', inplace = True)
  
# display
data

Saída:
conforme mostrado na imagem de saída, os dados agora têm apenas linhas em que a Alta Administração é True.

 
Exemplo 2: Filtragem de múltiplas condições

Neste exemplo, o dataframe foi filtrado em várias condições. Antes de aplicar o método query(), os espaços nos nomes das colunas foram substituídos por '_'.

# importing pandas package
import pandas as pd
  
# making data frame from csv file 
data = pd.read_csv("employees.csv")
  
# replacing blank spaces with '_' 
data.columns =[column.replace(" ", "_") for column in data.columns]
  
# filtering with query method
data.query('Senior_Management == True 
            and Gender =="Male" and Team =="Marketing" 
            and First_Name =="Johnny"', inplace = True)
  
# display
data

Saída:
conforme mostrado na imagem de saída, apenas duas linhas foram retornadas com base nos filtros aplicados.