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 criar um Agente de IA coletor de dados

A tecnologia de agentes de IA está democratizando o acesso e a manipulação de dados econômicos complexos, tornando-a acessível mesmo para aqueles sem experiência em programação. Neste post discutimos a criação de agentes de IA para coletar dados econômicos brasileiros usando linguagem natural, como "Qual é a expectativa do IPCA para 2025?".

Como Criar um Agente Analista para Dados da Inflação com LangGraph

Este post mostra como automatizar a análise da inflação brasileira com o uso de agentes inteligentes. Utilizando o LangGraph, integramos dados do IPCA, núcleos de inflação e grupos do índice para criar um sistema capaz de gerar análises econômicas automatizadas com base em consultas em linguagem natural.

Como Criar um Agente para Análise da Atividade Econômica com LangGraph

Este post mostra como automatizar a análise da atividade econômica brasileira com agentes inteligentes. Utilizando o framework LangGraph e dados do IBGE e Banco Central, construímos um sistema capaz de gerar respostas analíticas a partir de perguntas em linguagem natural, unindo automação de consultas SQL e interpretação econômica.

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.