# Como selecionar dados usando Pandas loc\[\]

Na biblioteca [Python Pandas](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas/), o indexador `DataFrame.loc[]` permite selecionar os dados de um DataFrame usando marcadores. Isso facilita a extração de linhas e colunas específicas.

## Sintaxe do indexador Pandas `loc[]`

O indexador Pandas `loc[]` tem uma sintaxe muito simples. Para usá-la, basta informar os **marcadores (*labels*) das colunas e linhas** que você deseja selecionar como parâmetro:

```python
DataFrame.loc[seleção]
```

NO indexador Pandas `loc[]`, as seleções são feitas usando rótulos de índice, também chamados de marcadores. Isso significa que o parâmetro informado pode ser um **marcador único, uma lista ou um *slice* de marcadores**. Arrays booleanos também podem ser usados.

## Diferença entre `loc[]` e `iloc[]`?

Enquanto o indexador Pandas `DataFrame.loc[]` seleciona os dados com base em marcadores, [DataFrame.iloc](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas-dataframe-iloc/) faz a seleção a partir de posições baseadas em números inteiros. Veja este exemplo que ilustra a diferença de ambas. Primeiro, vamos criar um [DataFrame no Pandas](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/pandas-dataframe-em-python/):

```python
import pandas as pd
# Exemplo de DataFrame
data = {'Nome': ['Andreia' , 'Bruno', 'Carla'], 'Idade': [23, 35, 30]}
df = pd.DataFrame(data)
print(df)
```

O DataFrame ficará assim:

```none
Nome   Idade
0 Andreia     23
1 Bruno        35
2 Carla         30
```

Para extrair “Andreia” do DataFrame, podemos usar tanto O indexador Pandas `loc[]` quanto `iloc[]`. Embora a abordagem seja diferente, o resultado será o mesmo:

```python
# Usar loc e marcadores para extrair Andreia
print(df.loc[0, 'Nome'])  # Output: 'Andreia'
# Usar iloc e inteiros para extrair Andreia
print(df.iloc[0, 0])  # Output: 'Andreia'
```

## Como usar Pandas `DataFrame.loc[]`

O indexador Pandas `loc[]` possibilita **extrair conjuntos de dados de um DataFrame**. Com ele, é possível extrair uma única linha ou coluna, várias linhas e colunas ao mesmo tempo, ou até aplicar filtros baseados em condições. Toda essa flexibilidade faz com que esse indexador seja a solução ideal em diversos casos.

### Selecionar uma linha única

Considere este exemplo de DataFrame:

```python
import pandas as pd
data = {
    'Nome': ['Andreia', 'Bruno', 'Carla'],
    'Idade': [23, 35, 30],
    'Cidade': ['Santos', 'Blumenau', 'Fortaleza']
}
df = pd.DataFrame(data)
print(df)
```

Este será o DataFrame resultante do código acima:

```none
Nome  Idade     Cidade
0   Andreia 23       Santos
1   Bruno    35       Blumenau
2   Carla      30       Fortaleza
```

Para selecionar os dados da linha que contém as informações sobre Bruno (índice 1), use O indexador Pandas `loc[]`:

```python
dados_bruno = df.loc[1]
print(dados_bruno)
```

Este será o resultado:

```none
Nome         Bruno
Idade              35
Cidade       Blumenau
Nome: 1, dtype: object
```

### Selecionar múltiplas colunas

Também é possível usar o indexador Pandas `DataFrame.loc[]` para selecionar um conjunto de colunas. O código a seguir resultará na seleção das colunas “Nome” e “Cidade”:

```python
nome_cidade = df.loc[:, ['Nome', 'Cidade']]
print(nome_cidade)
```

O resultado será um subconjunto do DataFrame original:

```none
Nome    Idade
0  Andreia    23
1  Bruno      35
2  Carla      30
```

### Selecionar linhas com base em condições

O indexador Pandas `loc[]` também possibilita selecionar linhas que atendam a critérios específicos. Isso é feito usando [operadores booleanos de comparação](https://www.ionos.com/pt-br/digitalguide/marketing-online/analise-web/operadores-booleanos/). Por exemplo, aqui está um exemplo de como filtrar indivíduos com mais de 25 anos:

```python
mais_25 = df.loc[df['Idade'] > 25]
print(mais_25)
```

O código acima produzirá um DataFrame que incluirá apenas os dados das pessoas com mais de 25 anos:

```none
Nome   Idade    Cidade
1 Bruno     35       Blumenau
2 Carla       30       Fortaleza
```


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