Como tratar dados no Python? Parte 2: filtrando linhas

Como filtrar somente as linhas que interessam em uma tabela de dados usando Python? Neste tutorial mostramos os métodos de filtros de linhas disponíveis na biblioteca pandas, que tem como vantagem sua sintaxe simples e prática.

O filtro de linhas é uma etapa presente em quase todo tratamento/limpeza de dados. Afinal, com tabelas de dados cada vez maiores, é necessário extrair somente as informações (linhas) relevantes para a análise dos dados. Sendo assim, vamos a um exemplo prático.

Para obter o código e o tutorial deste exercício faça parte do Clube AM e receba toda semana os códigos em R/Python, vídeos, tutoriais e suporte completo para dúvidas.

Dados de exemplo

Primeiro, coletamos online uma tabela de dados CSV de exemplo. A fonte dos dados é o Banco Central do Brasil e para coletar os dados também usamos a biblioteca pandas. Abaixo uma visão geral da tabela:

Indicador IndicadorDetalhe Data DataReferencia Media Mediana DesvioPadrao Minimo Maximo numeroRespondentes baseCalculo
0 IGP-M NaN 2023-02-10 2023 4.5840 4.5955 0.8950 2.6607 7.8000 73 0
1 IGP-M NaN 2023-02-10 2024 4.3685 4.0650 1.1936 2.8000 9.9000 56 0
2 IGP-M NaN 2023-02-10 2025 4.0136 3.9850 0.7051 3.0000 6.0000 50 0
3 IGP-M NaN 2023-02-10 2026 3.8977 3.6000 0.6957 2.7900 5.5000 47 0
4 IGP-M NaN 2023-02-10 2027 3.8798 3.8700 0.7446 2.5800 5.5000 42 0
... ... ... ... ... ... ... ... ... ... ... ...
595 IPCA NaN 2023-01-02 2022 5.6676 5.6379 0.1180 5.5433 6.1636 40 1
596 IPCA NaN 2023-01-02 2023 5.5072 5.4631 0.4784 4.5197 6.9300 40 1
597 IPCA NaN 2023-01-02 2024 3.8155 3.8448 0.4013 3.0000 5.0000 36 1
598 IPCA NaN 2023-01-02 2025 3.5731 3.5000 0.5140 3.0000 5.0000 32 1
599 IPCA NaN 2023-01-02 2026 3.5401 3.5000 0.5367 3.0000 5.0000 31 1

600 rows × 11 columns

Como filtrar as linhas da tabela?

Na tabela de exemplo há 600 linhas, mas talvez você não precise de todas elas. Para filtrar determinadas linhas de uma tabela usamos a função query() com a sintaxe tabela.query("condicao"), onde condicao é uma expressão lógica dentro de uma string, na linguagem interna do pandas, aplicada aos valores de uma coluna. As linhas que serão mantidas após o query() são as linhas onde condicao é verdadeiro (True).

Como exemplo, suponha que você queira todas as linhas de uma tabela que possui o valor 2023 na coluna DataReferencia, para tal filtro use uma condição de igualdade:

Indicador IndicadorDetalhe Data DataReferencia Media Mediana DesvioPadrao Minimo Maximo numeroRespondentes baseCalculo
0 IGP-M NaN 2023-02-10 2023 4.5840 4.5955 0.8950 2.6607 7.8000 73 0
5 IGP-M NaN 2023-02-10 2023 4.4916 4.5525 0.9611 2.6607 7.8000 31 1
10 IPCA NaN 2023-02-10 2023 5.7630 5.7883 0.4401 3.6387 6.9166 142 0
15 IPCA NaN 2023-02-10 2023 5.7644 5.7742 0.4910 3.6387 6.9166 69 1
20 IGP-M NaN 2023-02-09 2023 4.7252 4.6061 1.4370 2.8871 14.6000 70 0
... ... ... ... ... ... ... ... ... ... ... ...
576 IPCA NaN 2023-01-03 2023 5.4721 5.4488 0.5200 4.5092 6.9300 43 1
580 IGP-M NaN 2023-01-02 2023 4.7308 4.6132 1.4779 2.4830 14.6000 69 0
585 IGP-M NaN 2023-01-02 2023 4.3771 4.5260 0.8942 2.4830 5.7000 18 1
591 IPCA NaN 2023-01-02 2023 5.3238 5.3005 0.4645 3.4016 6.9300 135 0
596 IPCA NaN 2023-01-02 2023 5.5072 5.4631 0.4784 4.5197 6.9300 40 1

120 rows × 11 columns

Você pode definir múltiplas condições para uma ou mais colunas, separando-as por operadores lógicos como &| ou seus nomes no inglês and e or, respectivamente. Somente as linhas onde todas as condições são verdadeiras serão retornadas:

Indicador IndicadorDetalhe Data DataReferencia Media Mediana DesvioPadrao Minimo Maximo numeroRespondentes baseCalculo
10 IPCA NaN 2023-02-10 2023 5.7630 5.7883 0.4401 3.6387 6.9166 142 0
11 IPCA NaN 2023-02-10 2024 4.0324 4.0000 0.5501 3.0000 5.7557 134 0

Para saber mais consulte a documentação da biblioteca.

Conclusão

Como filtrar somente as linhas que interessam em uma tabela de dados usando Python? Neste tutorial mostramos os métodos de filtros de linhas disponíveis na biblioteca pandas, que tem como vantagem sua sintaxe simples e prática.

Tenha acesso ao código e suporte desse e de mais 500 exercícios no Clube AM!

Quer o código desse e de mais de 500 exercícios de análise de dados com ideias validadas por nossos especialistas em problemas reais de análise de dados do seu dia a dia? Além de acesso a vídeos, materiais extras e todo o suporte necessário para você reproduzir esses exercícios? Então, fale com a gente no Whatsapp e veja como fazer parte do Clube AM, clicando aqui.

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

Como tratar dados no Python? Parte 2: filtrando linhas

Como filtrar somente as linhas que interessam em uma tabela de dados usando Python? Neste tutorial mostramos os métodos de filtros de linhas disponíveis na biblioteca pandas, que tem como vantagem sua sintaxe simples e prática.

Criando IA Assistant usando Shiny no Python

Nesta postagem, ensinamos a como criar um chatbot interativo utilizando o Shiny Python. Veremos os principais conceitos sobre o módulo Chat do Shiny e como integrá-lo a modelos de IA generativa, como Gemini, para criar um chatbot funcional em poucos passos.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.