MultiIndex em Pandas para dados multiníveis ou hierárquicos

MultiIndex em Pandas é um objeto multinível ou hierárquico que permite selecionar mais de uma linha e coluna em seu índice. Ele também permite que você crie análises e manipulações de dados sofisticadas, especialmente para trabalhar com dados dimensionais superiores. Neste tutorial, explorarei o recurso MultiIndex do Pandas. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

A ideia aqui é que temos um índice que também contém uma hierarquia. Se você já usou o Pandas antes, sabe que os quadros de dados do Pandas contêm um index , então vamos adicionar camadas adicionais a ele. Isso facilitará a indexação e a reformulação dos dados, dependendo se você realmente tem uma hierarquia para seus dados.

Por exemplo, vamos usar o famoso conjunto de dados Gapminder, e este é realmente um MultiIndex aqui. Temos uma hierarquia, portanto, um continente pode perfurar países e cada país pode perfurar vários anos. Assim, podemos manipular esse índice e as coisas serão muito mais fáceis de codificar quando estivermos usando este MultiIndex. Vamos examinar a divisão e também remodelar o conjunto de dados do Gapminder.

Índice

Como usar o MultiIndex em Pandas

Vamos usar o conjunto de dados Gapminder. Se você não o tiver instalado, faça uma instalação PIP do Gapminder. Vou trazer Pandas também. Estou usando a distribuição Anaconda do Python. Nesse caso, esse Pandas já estará instalado. Fazemos uma importação do Gapminder e depois damos uma olhada nesses dados.

MultiIndex em Pandas para dados multiníveis ou hierárquicos

Como você pode ver aqui, novamente temos um índice ou hierarquia. Devo dizer que temos um continente, um país e depois um ano. Atualmente, o índice é apenas numérico como este, e vamos definir nosso próprio índice agora. E a maneira como faremos isso é com o Gapminder. Vamos definir o index. Vamos defini-lo como continente, país e, em seguida, ano, inplace é igual a ( = ) true .

MultiIndex em Pandas para dados multiníveis ou hierárquicos

Isso é apenas salvar os resultados, então não precisamos chamar a variável duas vezes, apenas um pouco mais eficiente. E agora, você verá que temos o índice aqui (conteúdo, país, ano) e este é o nosso índice múltiplo.

Algumas coisas que poderíamos fazer aqui. Digamos, por exemplo, que eu queira tudo no continente europeu. Eu quero filtrar ou cortar este quadro de dados. Posso usar gapminder.loc e digitar Europe. Você pode estar familiarizado com loc. De outras circunstâncias no Pandas, funciona muito mais facilmente quando o fazemos pelo índice.

MultiIndex em Pandas para dados multiníveis ou hierárquicos

Agora isso existe em uma hierarquia. Digamos que queríamos apenas os dados do Reino Unido. Parece que poderíamos apenas cortar isso, mas isso vai ser um problema porque quando indexamos isso, estamos presos ao uso da hierarquia. Precisamos começar com o primeiro nível e, em seguida, perfurar o segundo e o terceiro, etc.

Se eu quiser incluir vários níveis, o que posso fazer é passar aqui. Vou fazer a Europa e depois o Reino Unido. Eu poderia ir um passo além e colocar 1997. E agora, podemos ver aqui o resultado dessa linha nesse caso.

MultiIndex em Pandas para dados multiníveis ou hierárquicos

Outra coisa boa com o MultiIndex no Pandas é que é muito mais fácil remodelar os dados. Posso fazer gapminder_pivot e depois gapminder.unstack . Se eu precisar reformular esse conjunto de dados, por algum motivo, imprimirei isso e você verá que agora temos o continente, o país e o ano junto com as colunas.

MultiIndex em Pandas para dados multiníveis ou hierárquicos

Agora, digamos que eu queira fazer isso na direção oposta. Tudo que eu precisaria fazer é desarticular e vamos fazer gapminder_pivot . Se isso foi desempilhar, então isso é empilhar gapminder_unpivot.

MultiIndex em Pandas para dados multiníveis ou hierárquicos

Agora, e se eu quiser me livrar desse índice, redefini-lo e alterá-lo para outra coisa? Tudo o que preciso fazer nesse caso é gapminder_unpivot. Vamos reset_index . Nós vamos fazer isso inplace novamente. Não temos que economizar em si. É apenas um pouco mais eficiente. Em seguida, gapminder_unpivot.

Imprima isso e voltamos aos nossos dados originais e temos o índice. O início numérico é zero porque o Python é uma indexação baseada em zero.

MultiIndex em Pandas para dados multiníveis ou hierárquicos


Python no LuckyTemplates: como instalar e configurar
scripts Python em relatórios de dados do LuckyTemplates
LuckyTemplates com scripts Python para criar tabelas de datas

Conclusão

Pandas foi inicialmente nomeado após dados de painel. É realmente destinado a trabalhar com dados de painel, que é um tipo específico de dados de séries temporais com várias categorias. Nesse caso, ter uma hierarquia realmente faz sentido, certo?

Isso funciona muito bem se você estiver trabalhando com linhas únicas, tentando localizar várias colunas.

No que diz respeito ao desempenho, pode ser que o índice não seja necessário se você estiver mesclando, mas não estávamos mesclando aqui. Estávamos apenas operando, acessando, indexando, remodelando etc. No entanto, a eficiência da codificação é definitivamente um grande benefício.

Isso é tudo para MultiIndex em Pandas. Espero que isso seja algo que você possa usar. Você aprendeu algo um pouco novo sobre os Pandas hoje.

Tudo de bom!

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.