# Como usar o Pandas DataFrame index no Python

A indexação de DataFrames no [Python Pandas](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/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.

## 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:

```python
DataFrame.index
```

## 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:

```python
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)
```

O DataFrame ficará assim:

```none
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](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-string/ "String em Python") dentro do operador de indexação:

```python
# Acessar a coluna Idade
print(df['Idade'])
```

O resultado trará uma lista das idades:

```none
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`](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas-dataframe-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):

```python
print(df.loc[0])
```

O código acima exibe os valores correspondentes a Alice distribuídos na primeira linha do DataFrame:

```none
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](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas-dataframe-iloc/).

```python
# Acessar a primeira linha
print(df.iloc[0])
# Acessar o valor da primeira linha na segunda coluna
print(df.iloc[0, 1])
```

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

```none
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:

```python
print(df.at[1, 'Cidade'])
```

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:

```python
print(df.iat[1, 2])
```

### 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:

```python
# Selecionar linhas em que Idade é superior a 30
print(df[df['Idade'] > 30])
```

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

```none
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](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/operadores-python/) em nosso artigo detalhado.


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas-dataframe-index/](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas-dataframe-index/) for AI/LLM consumption.