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.

Hospedagem que se adapta às suas ambições
  • 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.index
python

Qual é 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)
python

O DataFrame ficará assim:

Nome  Idade    Cidade
0   Alice     25     São Paulo
1   Bruno     30    Recife
2   Carlos     35    Curitiba

Para 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'])
python

O resultado trará uma lista das idades:

0    25
1    30
2    35
Name: Idade, dtype: int64

Para 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])
python

O 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: object

Indexaçã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])
python

Este será o resultado obtido usando o método iloc[]:

Nome        Alice
Idade            25
Cidade      São Paulo
Name: 0, dtype: object
25

Acessar 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'])
python

Assim, 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])
python

Indexaçã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])
python

A única pessoa com mais de 30 anos é Carlos. Portanto, o resultado será este:

Nome  Idade   Cidade
2  Carlos     35     Curitiba
Nota

Lembre-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.

Ir para o menu principal