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 fazer previsões para a inflação desagregada medida pelo IPCA?

Neste artigo investigamos se a previsão desagregada da inflação é capaz de gerar previsões mais acuradas do que a previsão agregada. Utilizamos o Índice Nacional de Preços ao Consumidor Amplo (IPCA) como medida de interesse, aplicando um modelo simples e um modelo de passeio aleatório para comparação. Todo o processo pode ser feito de maneira automatizada utilizando a linguagem de programação R.

Qual o melhor modelo para prever a inflação medida pelo IPCA?

Neste exercício, testamos 18 modelos diferentes com um conjunto fixo de regressores para previsão da taxa de inflação, medida pelo IPCA. Implementamos o método da validação cruzada, visando obter resultados robustos para comparação de métricas de performance. Apresentamos os resultados gerais e desagregados por horizontes de previsão, além de automatizar todo o processo utilizando a linguagem Python.

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.