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.
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
pythonQual é 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 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'])
pythonO 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])
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: 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])
pythonEste 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'])
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 Curitiba
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.