Com a indexação de Da­ta­Fra­mes da Bi­bli­o­teca Python Pandas, poderá aceder de forma eficiente e direta a dados es­pe­cí­fi­cos dentro de um DataFrame. Com a ajuda de um índice de Da­ta­Fra­mes do Pandas, é possível se­le­ci­o­nar linhas e colunas es­pe­cí­fi­cas dentro do DataFrame, o que pode ser muito útil para a análise de dados.

Em que consiste a indexação?

Ao indexar um DataFrame do Pandas, o objetivo é facilitar a seleção de de­ter­mi­na­dos elementos do DataFrame. Isso é feito se­le­ci­o­nando linhas e colunas de acordo com suas posições ou etiquetas. Os índices servem para encontrar e manipular dados de forma mais rápida, pois oferecem uma espécie de “sistema de endereços” para a estrutura de dados.

Sintaxe da pro­pri­e­dade DataFrame.index do Pandas

Pode utilizar a pro­pri­e­dade index para ver as etiquetas de um índice de um DataFrame. A sintaxe é a seguinte:

DataFrame.index
python

Sintaxe da indexação de Da­ta­Fra­mes

Existem di­fe­ren­tes formas de indexar um DataFrame do Pandas e a sintaxe da indexação varia de­pen­dendo da operação que deseja realizar.

Indexação com etiquetas (nomes de colunas)

Pode utilizar os nomes das colunas do DataFrame do Pandas para a indexação. Aqui está um exemplo:

import pandas as pd
# Ejemplo de DataFrame
data = {
    'Nombre': ['Alicia', 'Juan', 'Carlos'],
    'Edad': [25, 30, 35],
    'Ciudad': ['Madrid', 'Lugo', 'Cádiz']
}
df = pd.DataFrame(data)
print(df)
python

O aspecto do DataFrame re­sul­tante seria o seguinte:

Nombre    Edad    Ciudad
0    Alicia    25     Madrid
1    Juan      30     Lugo
2    Carlos    35     Cádiz

Para aceder a todos os valores de uma coluna es­pe­cí­fica, pode utilizar o nome da coluna com o operador de indexação [] para a sua indexação. Para tal, introduza o nome da coluna como uma cadeia de ca­rac­te­res Python no operador de indexação:

# Acceso a la columna “Edad”
print(df['Edad'])
python

Como resultado, obtêm-se os di­fe­ren­tes valores das idades:

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

Se pretender que sejam apre­sen­ta­das várias colunas, e não apenas uma, pode indicar os nomes dessas colunas separados por vírgulas no operador de indexação.

Indexação com loc[] (nomes de linhas)

Para aceder a uma linha es­pe­cí­fica do seu DataFrame, necessita do indexador loc do Pandas. Pode passar o nome da linha ou o número da linha. No exemplo seguinte, utiliza-se o DataFrame anterior e, neste caso, extrai-se a primeira coluna com os valores de «Alicia»:

print(df.loc[0])
python

Como resultado, aparecem os valores previstos, ou seja, os que pertencem a «Alicia»:

Nombre        Alicia
Edad          25
Ciudad        Madrid
Name: 0, dtype: object

Indexação com iloc[] (números de linhas e colunas)

Existe outra forma de aceder a elementos es­pe­cí­fi­cos de um DataFrame e, pro­va­vel­mente, é a mais conhecida: a indexação com números de linhas e colunas. Para trabalhar com o índice numérico do DataFrame do Pandas, precisará da pro­pri­e­dade iloc do DataFrame.

# Acceso a la primera fila
print(df.iloc[0])
# Acceso al valor en la primera fila y la segunda columna
print(df.iloc[0, 1])
python

Os re­sul­ta­dos que obtemos ao usar a pro­pri­e­dade iloc[] são os seguintes:

Nombre        Alicia
Edad          25
Ciudad        Madrid
Name: 0, dtype: object
25

Indexação de valores in­di­vi­du­ais

Se estiver in­te­res­sado apenas num valor es­pe­cí­fico do DataFrame, pode usar o indexador at, que lhe permitirá extrair esse valor de forma rápida e muito clara. Para isso, defina a linha e a coluna cor­res­pon­den­tes com os seus nomes. Se o valor que nos interessa for o local de re­si­dên­cia de Juan, in­di­ca­re­mos a coluna «Cidade» e a primeira linha para obtê-lo:

print(df.at(1, 'Ciudad'))
python

O resultado é a cidade onde Juan vive, ou seja, Lugo.

Também existe a pos­si­bi­li­dade de utilizar o indexador iat, que funciona de forma se­me­lhante ao at, mas em vez de usar os nomes das linhas e colunas, como no exemplo anterior, é ne­ces­sá­rio usar a posição numérica. Podemos obter o mesmo resultado que no exemplo anterior uti­li­zando iat:

print(df.iat(1, 2))
python

Indexação booleana

Os sub­con­jun­tos de um DataFrame também podem ser indexados usando condições es­pe­cí­fi­cas. Neste caso, falamos da chamada indexação booleana. A condição que deseja verificar deve ser avaliada como ver­da­deira (True) ou falsa (False) e é colocada di­re­ta­mente dentro do operador de indexação. Por exemplo, se quisermos extrair apenas as linhas em que a pessoa tem mais de 30 anos, po­de­ría­mos fazer assim:

# Selección de las filas en las que la edad sea superior a 30
print(df[df[Edad] > 30])
python

Como era de se esperar, a condição anterior só se aplica a Carlos, que tem 35 anos. Portanto, o resultado é o seguinte:

Nombre    Edad    Ciudad
2     Carlos    35    Cádiz
Ir para o menu principal