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 web com consultor pessoal

Rápido e escalável, confie na hospedagem da IONOS, que inclui domínio grátis no primeiro ano e endereço de e-mail!

  • Domínio
  • SSL Wildcard
  • Suporte 24 horas

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.

Este artigo foi útil?
Ir para o menu principal