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

Qual o efeito de um choque de juros sobre a inadimplência?

Neste exercício, exploramos a relação dinâmica entre o custo do crédito (juros na ponta) e o risco realizado (taxa de inadimplência) através de uma análise exploratória de dados e modelagem econométrica utilizando a linguagem de programação R.

Qual a relação entre benefícios sociais e a taxa de participação do mercado de trabalho?

Este exercício apresenta uma investigação econométrica sobre a persistente estagnação da taxa de participação no mercado de trabalho brasileiro no período pós-pandemia. Utilizando a linguagem R e dados públicos do IBGE e Banco Central, construímos um modelo de regressão linear múltipla com correção de erros robustos (Newey-West). A análise testa a hipótese de que o aumento real das transferências de renda (Bolsa Família/Auxílio Brasil) elevou o salário de reserva, desincentivando o retorno à força de trabalho.

Estamos em pleno emprego no mercado de trabalho?

Este artigo investiga se o mercado de trabalho brasileiro atingiu o nível de pleno emprego, utilizando uma estimativa da NAIRU (Non-Accelerating Inflation Rate of Unemployment) baseada na metodologia de Ball e Mankiw (1997). Através de uma modelagem em Python que unifica dados históricos da PME e PNAD Contínua com as expectativas do Boletim Focus, comparamos a taxa de desocupação corrente com a taxa neutra estrutural. A análise visual e quantitativa sugere o fechamento do hiato de desemprego, sinalizando potenciais pressões inflacionárias. O texto detalha o tratamento de dados, a aplicação do Filtro Hodrick-Prescott e discute as vantagens e limitações da metodologia econométrica adotada.

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.