Como Usar o Pandas Set Index
Published on
A análise de dados em Python foi revolucionada pela biblioteca Pandas, com o DataFrame como sua estrutura de dados principal. Uma característica-chave dos DataFrames é a capacidade de manipular sua estrutura de índice. Este artigo tem como objetivo fornecer um guia abrangente sobre como usar a função set_index() do Pandas.
Quer criar visualizações de dados rapidamente em Python?
PyGWalker é um projeto Python de código aberto que pode ajudar a acelerar o fluxo de trabalhos de análise e visualização de dados diretamente em ambientes baseados em notebooks Jupyter.
PyGWalker (opens in a new tab) transforma seu DataFrame Pandas (ou Polars Dataframe) em uma interface de usuário visual onde você pode arrastar e soltar variáveis para criar gráficos com facilidade. Basta usar o seguinte código:
pip install pygwalker
import pygwalker as pyg
gwalker = pyg.walk(df)
Você pode executar o PyGWalker agora mesmo com esses notebooks online:
E não se esqueça de nos dar uma ⭐️ no GitHub!
Entendendo o Índice no DataFrame do Pandas
Um índice em um DataFrame serve como rótulo para as linhas. Por padrão, o Pandas atribui valores inteiros começando em 0 como rótulos de linha. No entanto, existem cenários em que esses índices padrão não são suficientes e você pode precisar definir uma coluna específica ou uma combinação de colunas como o índice do seu DataFrame.
Definindo o índice usando set_index()
A função set_index()
nos permite definir uma coluna como o índice de um DataFrame. A sintaxe básica é a seguinte:
DataFrame.set_index('Nome_da_Coluna')
Aqui, 'Nome_da_Coluna' é a coluna que você deseja definir como o índice.
Parâmetros-chave da função set_index()
A função set_index()
tem vários parâmetros para fornecer flexibilidade aos usuários. Vamos nos aprofundar no entendimento de cada um deles.
keys
: Isso pode ser o nome da coluna ou uma série Pandas, um índice ou um array NumPy. Este será o novo índice do seu DataFrame.drop
(Padrão: True): Se definido como True, a coluna que você está definindo como o novo índice será excluída do DataFrame.append
(Padrão: False): Se True, a coluna que você está definindo como o índice será anexada ao índice existente, criando um índice multinível.inplace
(Padrão: False): Se True, as alterações ocorrem diretamente no DataFrame e a função não retorna nada. Se False, um novo DataFrame com as alterações será retornado.verify_integrity
(Padrão: False): Verifica índices duplicados. Isso é útil quando você deseja garantir que os novos valores de índice sejam únicos.
Exemplo prático de uso do set_index()
Agora, vamos entender esses parâmetros com alguns exemplos práticos. Suponha que temos um DataFrame df
como abaixo:
import pandas as pd
data = {
'Name': ['John', 'Anna', 'Peter', 'Linda'],
'Age': [28, 24, 32, 45],
'City': ['Nova York', 'Londres', 'Berlim', 'Sydney']
}
df = pd.DataFrame(data)
Vamos definir 'Name' como nosso índice:
df.set_index('Name', inplace=True)
Isso definirá a coluna 'Name' como o índice do DataFrame e a removerá do DataFrame porque o parâmetro drop
é verdadeiro por padrão.
Se quisermos definir a coluna 'Name' como o índice, mas também mantê-la no DataFrame, podemos fazer:
df.reset_index(inplace=True)
df.set_index('Name', drop=False, inplace=True)
Para criar um DataFrame multinível anexando 'City' ao índice 'Name' existente, use:
df.set_index(['Name', 'City'], inplace=True)
Observação: Antes de definir um novo índice, talvez seja necessário redefinir o índice usando df.reset_index(inplace=True)
se você já o tiver definido anteriormente.
Conclusão
Neste artigo, aprendemos como usar o set_index() do Pandas para manipular a estrutura de índice do DataFrame de acordo com nossas necessidades. Ao entender seus principais parâmetros, podemos realizar efetivamente operações com base no índice e melhorar nossas capacidades de análise de dados. Seja você um iniciante ou um especialista em Pandas, saber como usar corretamente o set_index() é crucial. Agora é hora de usar o que você aprendeu em seus projetos!