Como usar o Pandas DataFrame index no Python
A indexação de DataFrames no Python Pandas possibilita acessos diretos e eficientes a dados. Ela facilita a seleção de linhas e colunas específicas, simplificando as tarefas de análise de dados.
- Fique online com 99,99% de tempo de atividade e segurança robusta
- Aumente o desempenho com um clique à medida que o tráfego cresce
- Inclui domínio gratuito, SSL, e-mail e suporte 24 horas por dia, 7 dias por semana
O que é indexação no Pandas?
No Pandas, a indexação se refere aos diferentes métodos disponíveis para selecionar linhas ou colunas. A partir de labels (rótulos) ou da posição numérica de linhas e colunas no DataFrame, você pode selecionar elementos com facilidade. A indexação funciona como um sistema de endereçamento dos seus dados que ajuda você a localizar e gerenciar dados de forma mais eficiente.
O que é Pandas DataFrame.index?
Você pode visualizar os labels dos índices de um DataFrame no Pandas usando o atributo index. Sua sintaxe é a seguinte:
DataFrame.indexpythonQual é a sintaxe do Pandas DataFrame index?
Existem diversas formas de indexar DataFrames no Pandas. A sintaxe varia de acordo com a operação que será realizada.
Indexação com labels
Use os nomes das colunas para indexar os DataFrames no Pandas. Veja um exemplo de como criar um DataFrame:
import pandas as pd
# Criar um DataFrame de exemplo
data = {
'Nome': ['Alice', 'Bruno', 'Carlos'],
'Idade': [25, 30, 35],
'Cidade': ['São Paulo', 'Recife', 'Curitiba']
}
df = pd.DataFrame(data)
print(df)pythonO DataFrame ficará assim:
Nome Idade Cidade
0 Alice 25 São Paulo
1 Bruno 30 Recife
2 Carlos 35 CuritibaPara acessar todos os valores de uma coluna, informe seu nome juntamente com o operador de indexação []. Basta inserir o nome da coluna como uma string em Python dentro do operador de indexação:
# Acessar a coluna Idade
print(df['Idade'])pythonO resultado trará uma lista das idades:
0 25
1 30
2 35
Name: Idade, dtype: int64Para consultar os dados de mais de uma coluna, liste seus nomes separados por vírgula dentro do operador de indexação.
Indexação com loc[] (labels de linhas)
Se for necessário acessar uma linha específica do seu DataFrame, use o indexador Pandas loc. Você pode informar ao indexador tanto a label quanto o número da linha. Neste exemplo, usaremos o mesmo DataFrame anterior e extrairemos os valores da primeira linha (linha 0):
print(df.loc[0])pythonO código acima exibe os valores correspondentes a Alice distribuídos na primeira linha do DataFrame:
Nome Alice
Idade 25
Cidade São Paulo
Name: 0, dtype: objectIndexação com iloc[] (números da linha e coluna)
Outra forma de acessar elementos específicos do seu DataFrame é usar os números das linhas e colunas. Este é o método mais popular para localizar elementos em um DataFrame. Para usar a indexação numérica, é preciso recorrer ao atributo iloc no DataFrame.
# Acessar a primeira linha
print(df.iloc[0])
# Acessar o valor da primeira linha na segunda coluna
print(df.iloc[0, 1])pythonEste será o resultado obtido usando o método iloc[]:
Nome Alice
Idade 25
Cidade São Paulo
Name: 0, dtype: object
25Acessar valores individuais
Nos casos em que é necessário acessar somente um valor, o indexador at é uma solução rápida e direta. Com ele, você define linhas e colunas usando labels. Por exemplo, se quiser descobrir qual é a cidade do usuário Bruno, informe “Bruno” como label da linha e “Cidade” como nome da coluna:
print(df.at[1, 'Cidade'])pythonAssim, o resultado será “Recife”.
Outra opção é usar o indexador iat, que funciona de maneira semelhante ao at, mas usa a posição da coluna com base em seu número em vez de seu nome. O código abaixo produzirá o mesmo resultado do exemplo anterior:
print(df.iat[1, 2])pythonIndexação booleana
Você também pode criar subconjuntos de um DataFrame com base em uma condição. Essa abordagem é conhecida como indexação booleana. A condição deve ser avaliada como True ou False e inserida diretamente no operador de indexação. Por exemplo, se quiser selecionar apenas as linhas que contêm pessoas com mais de 30 anos de idade, use o código a seguir:
# Selecionar linhas em que Idade é superior a 30
print(df[df['Idade'] > 30])pythonA única pessoa com mais de 30 anos é Carlos. Portanto, o resultado será este:
Nome Idade Cidade
2 Carlos 35 CuritibaLembre-se: ao executar a indexação booleana, você poderá usar qualquer operador de comparação booleano cuja condição possa ser avaliada como True ou False. Conheça mais operadores Python em nosso artigo detalhado.

