Como tratar dados no Python? Parte 4: operações por grupos

Como mensalizar dados diários? Ou como filtrar os valores máximos para diversas categorias em uma tabela de dados usando Python? Estas perguntas são respondidas com os métodos de operações por grupos. Neste tutorial mostramos estes métodos disponíveis na biblioteca pandas, que tem como vantagem sua sintaxe simples e prática.

Operações por grupos de dados é uma etapa presente em quase todo tratamento/limpeza de dados. Afinal, com tabelas de dados cada vez maiores, é necessário tratar e processar os valores 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:

Como fazer operações por grupos de dados?

Diversas operações de manipulação de dados são feitas por grupos de valores definidos em variáveis/colunas. Por exemplo, suponha que você tenha dados diários de uma variável numérica e que precise obter uma média mensal da mesma. Neste contexto, o grupo é o conjunto de valores dentro de cada mês/ano e, para cada um destes n conjuntos de valores/grupos, o cálculo da média deve ser aplicado para obter o resultado desejado. Se os grupos não forem definidos a média da variável seria de toda a amostra de dados, o que não seria o resultado desejado.

Para definir os grupos, e realizar uma operação nos mesmos, use groupby() com a sintaxe tabela.groupby(by = grupos), onde grupos é o nome da coluna cujos valores definem os grupos (ou uma lista de nomes).

A função groupby() divide o DataFrame de modo que uma operação (função) aplicada na sequência é realiza pelos grupos definidos. Por exemplo, a seguir aplicamos um filtro para obter as primeiras linhas de cada grupo com a função head():

Outra possibilidade é especificar mais de um agrupamento para os dados, ou seja, você pode definir grupos por quantas colunas precisar para realizar uma operação.

Para funções simples como head(), aplicadas sobre os grupos, o retorno será um DataFrame com estrutura semelhante a tabela anterior à operação. Em outros casos, pode ser que o DataFrame retornado contenha um novo index. Por exemplo, abaixo agrupamos a tabela e usamos a função apply() para filtrar a Data e DataReferencia máxima e o retorno possui como index os grupos definidos:

Para evitar isso pode ser interessante usar group_keys = False em groupby().Para saber mais consulte a documentação da biblioteca.

Conclusão

Como mensalizar dados diários? Ou como filtrar os valores máximos para diversas categorias em uma tabela de dados usando Python? Estas perguntas são respondidas com os métodos de operações por grupos. Neste tutorial mostramos estes métodos 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 Construir um Monitor de Política Monetária Automatizado com Python?

Descubra como transformar dados do Banco Central em inteligência de mercado com um Monitor de Política Monetária Automatizado. Neste artigo, exploramos o desenvolvimento de uma solução híbrida (Python + R) que integra análise de sentimento das atas do COPOM, cálculo da Regra de Taylor e monitoramento da taxa Selic. Aprenda a estruturar pipelines ETL eficientes e a visualizar insights econômicos em tempo real através de um dashboard interativo criado com Shiny, elevando o nível das suas decisões de investimento.

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.

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.