Como fazer um SELECT com pandas: Comparando com SQL

Quando trabalhamos com dados, seja em uma planilha de Excel ou em um script de Python, muitas vezes precisamos organizar e acessar informações de maneira eficiente. No mundo do Python, a biblioteca Pandas é uma ferramenta poderosa para manipulação de dados, e um dos seus recursos mais úteis é o conceito de índices multiníveis, também conhecidos como MultiIndex
. Neste tutorial, vamos explorar o que é um índice multinível em Pandas, e como ele pode ser aplicado em seus projetos de análise de dados.
Imagine uma planilha de Excel onde você tem várias categorias e subcategorias de dados. Por exemplo, você pode ter vendas de diferentes produtos, categorizadas por ano e por mês. No Pandas, um índice multinível permite que você crie uma estrutura de dados semelhante, onde cada nível do índice representaria o ano, mês, ou qualquer outra subdivisão. A imagem abaixo exemplifica isso:
Índices multiníveis são extremamente úteis quando você está lidando com dados hierárquicos. Eles permitem que você:
Vamos ver um exemplo de como criar e trabalhar com índices multiníveis no Pandas. Para isso, vamos imaginar que temos dados de vendas de uma loja que queremos organizar por ano e mês.
import pandas as pd
import numpy as np
# Criando listas para representar anos e meses
anos = ['2020', '2021']
meses = ['Janeiro', 'Fevereiro']
# Criando um MultiIndex a partir das listas
indice_multinivel = pd.MultiIndex.from_product([anos, meses], names=['Ano', 'Mês'])
# Criando um DataFrame com o MultiIndex
vendas = pd.DataFrame([150, 120, 100, 110], columns=['Vendas'], index=indice_multinivel)
# Exibindo o DataFrame
print(vendas)
# output:
# Vendas
# Ano Mês
# 2020 Janeiro 150
# Fevereiro 120
# 2021 Janeiro 100
# Fevereiro 110
Neste exemplo, criamos um DataFrame que representa as vendas de dois produtos ao longo de dois meses em dois anos diferentes.
Note que criamos o índice multinível em Pandas com o método .from_product()
, que basicamente cria todas as combinações possíveis entre duas ou mais listas (neste caso, as listas anos
e meses
). Cada combinação de valores se torna uma linha do índice multinível.
Agora que temos nosso DataFrame com índices multiníveis, como podemos acessar os dados de um mês específico? É simples:
# Acessando os dados de Janeiro de 2020
print(vendas.loc['2020', 'Janeiro'])
# output:
# Vendas 150
# Name: (2020, Janeiro), dtype: int64
Note que o primeiro nível do índice multinível (o ano) deve vir por primeiro, o segundo nível (mês) por segundo, e assim por diante para todos os níveis.
Por outro lado, se quisermos as vendas de 2020 de todos os meses, podemos omitir o segundo nível da seleção:
# Acessando os dados de todos os meses de 2020
print(vendas.loc['2020'])
# output:
# Vendas
# Mês
# Janeiro 150
# Fevereiro 120
Criar um índice multinível em Pandas é uma forma de facilitar a manipulação de dados hierárquicos. Eles são como ter várias camadas de categorias em uma planilha de Excel, mas com a capacidade de realizar operações de dados mais complexas e eficientes. Com a prática, você verá como eles podem tornar suas análises de dados muito mais intuitivas e poderosas.
Lembre-se, a melhor maneira de aprender é praticando. Então, pegue seus próprios conjuntos de dados e comece a experimentar com índices multiníveis hoje mesmo!
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp