Uma linha de código para quebrar sua Tabela Dinâmica no Excel

Neste artigo, abordaremos o projeto de Cidades Digitais, que foi planejado para modernizar a gestão e ampliar o acesso ao serviço público e promover o desenvolvimento dos brasileiros através da tecnologia. Os dados foram obtidos do Portal Brasileiro de Dados Abertos

Nosso objetivo é usar o conjunto de dados de Cidades Digitais para fazer diferentes análises: agrupamentos, agregações, pivot — conceitos comuns quando se trabalha com business intelligence e rotina empresarial.

1. importar pacotes

Vamos começar importando os pacotes numpy e pandas, na sequência carregar o conjunto de dados, indicar o separador de colunas sep (devemos conferir o arquivo para indicar o separador), o encoding que é a forma como os caracteres foram colocados dentro do arquivo.

2. contabilizar registros

usar a função count() para contabilizar quantos registros temos para cada coluna.

3. deletar colunas

4. agrupar e verificar

Depois podemos fazer o groupby por uma das colunas e gravamos em outro dataframe. Essa é uma dica importante, evite alterar o dataframe original!

Sepre que qualquer alteração for feita, grave em outro dataframe.

Ao verificar o tipo do objeto, temos um objeto do tipo DataFrame “agrupado”, o próprio Pandas já entendeu que queremos agrupar os dados, e já grava nesse formato.

Ao criar o objeto nesse formato, teremos métodos e atributos próprios para manipularmos esse objeto. Isso é uma vantagem incrível que o Pandas traz.

5. chamar atributo

Agora que temos um objeto do tipo GroupBy, podemos chamar um atributo específico para verificar as classes do grupo criado.

6. número de grupos

Verificar o tamanho do grupo

7. tamanho dos grupos

Caso queiramos visualizar o tamanho desse objeto, podemos chamar o método size. Gravamos em outro objeto para na sequência ordernarmos o dataframe pelos grupos que foram criados com a função sort_values() e especificamos ascending=False para ordem decrescente.

8. agrupamento com duas colunas

Vamos gravar em outro objeto de agrupamento essas duas colunas. Em seguida, aplicar o mesmo procedimento:

coletar tamanho e passar para uma variável

usar a variável total para que possamos ordenar os valores

Repare como a quantidade de registros é diferente do primeiro agrupamento. Isso se deve a dois agrupamentos simultâneos que levam à repartição dos dados em subconjuntos de UF combinado a STATUS.

O dataset original continua intacto:

9. definir índice para a tabela

Agora vamos definir o índice que queremos para a nossa tabela, podemos para isso utilizar o método set_index(), ou seja, dentro da lista de colunas que temos no dataframe, vamos escolher uma para ser o índice.

10. agrupar com índice

Agora vamos fazer um agrupamento pelo índice. Especificando o parâmetro level

Agora temos a coluna STATUS como o índice. Isso é muito poderoso, porque podemos realizar várias operações de slicing através do índice. Em geral, o Pandas se comporta bem com qualquer tipo de texto.

11. multi-índices

Podemos também aplicar uma lista de colunas, possibilitando manipular e trabalhar duas colunas como índice.

Inverter os índices:

Depois de feito o agrupamento, podemos fazer diversas agregações:

Acima temos cada UF, seus STATUS e os valores totais. Ao visualizar a UF BAHIA, por exemplo, temos dois STATUS e total para cada um dos STATUS. Ou seja, podemos fazer agrupamentos em vários níveis.

12. agregação pela soma

É um conceito bastante comum em linguagem SQL.

13. agregação múltipla

Agora temos os valores totalmente agregado para soma, mas podemos fazer agregações simultâneas com outros parâmetros numpy.

Em uma mesma tabela pudemos colocar várias informações diferentes, fizemos isso com algumas poucas linhas de código. Com toda a certeza, teríamos mais trabalho de fazer isso no Excel, do que em Pandas.

14. várias colunas como índice

Aqui entra o componente criatividade. Se já definimos uma coluna como índice, por que não mais?

15. diminuindo o nível de granularidade

Conseguimos chegar em um nível de granularidade bem baixo, fazendo vários agrupamentos, com diversas colunas diferentes.

16. soma final

Por último, fazer a soma. Veja que nós temos o resultado final, que é completamente diferente dos últimos resultados. Apenas olhando por diferentes perspectivas.

concluindo

  • transformamos linhas em colunas;
  • colunas em linhas;
  • definimos colunas como índices;
  • agrupamos novos índices;
  • realizamos agregações de soma e média;
  • fizemos resumos a partir dos dados

Obrigado.

Composing a repository of books (i bought), authors (i follow) & blogs (direct ones) for my own understanding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store