1
resposta

[Projeto] 07 Desafio: query de filtro

Implementação do Código:

Construção da Query de filtragem

query = '''
Produto in @produtos and
Categoria do Produto in @categoria and
@preco[0] <= Preço <= @preco[1] and
@frete[0] <= Frete <= @frete[1] and
@data_compra[0] <= Data da Compra <= @data_compra[1] and
Vendedor in @vendedores and
Local da compra in @local_compra and
@avaliacao[0] <= Avaliação da compra <= @avaliacao[1] and
Tipo de pagamento in @tipo_pagamento and
@qtd_parcelas[0] <= Quantidade de parcelas <= @qtd_parcelas[1]
'''

Aplicação do filtro no DataFrame original

dados_filtrados = dados.query(query)

1 resposta

Oi, Moacir! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Achei interessante como você estruturou sua query dinâmica utilizando múltiplos filtros ao mesmo tempo. Nota-se um bom domínio do método query() do pandas, principalmente ao usar variáveis externas com @, o que deixa o código mais flexível e reutilizável. A organização por linhas também ajuda bastante na leitura e manutenção.

Uma dica interessante para o futuro é usar o método between() diretamente no DataFrame, que pode deixar alguns filtros mais legíveis. Veja este exemplo:


dados_filtrados = dados[
    (dados['Preco'].between(preco[0], preco[1])) &
    (dados['Frete'].between(frete[0], frete[1]))
]

Esse código usa between para filtrar intervalos de valores, tornando a leitura mais direta. Em cenários com muitos filtros, isso pode ajudar na clareza do código.

Para saber mais:

Você chegou a testar como sua query se comporta quando algum filtro vem vazio ou com valor padrão?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!