# Como percorrer DataFrames com Pandas iterrows()

A função `DataFrame.iterrows()` do [Python Pandas](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-pandas/) é usada para **iterar sobre as linhas de um DataFrame**. Para cada linha, ela apresenta uma [tupla Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-tuples/ "Tuplas Python") contendo o índice da linha e um objeto Series com os respectivos dados.

## Sintaxe da função Pandas `iterrows()`

A sintaxe básica da função Pandas `DataFrame.iterrows()` é simples, já que ela **não aceita nenhum parâmetro**:

```python
df.iterrows()
```

Nesse exemplo de código, `df` é o DataFrame em que ocorrerá a iteração.

## Como usar a função Pandas `iterrows()`

A função Pandas `DataFrame.iterrows()` costuma ser usada quando é necessário **processar dados linha por linha**. Em muitos casos, ela é combinada com for loops em Python.

### Somar valores de uma coluna

Vejamos um exemplo de DataFrame composto pelas colunas *Nome*, *Idade* e *Pontuação*:

```python
import pandas as pd
# Criar exemplo de DataFrame
data = {'Nome': ['Ana', 'Beto', 'Clara'],
    'Idade': [23, 35, 29],
    'Pontuação': [88, 92, 85]}
df = pd.DataFrame(data)
print(df)
```

O código acima resultará no seguinte DataFrame:

```none
Nome  Idade  Pontuação
0   Ana      23           88
1   Beto     35           92
2   Clara    29           85
```

Agora, vamos calcular a soma das pontuações. Podemos usar a função Pandas `DataFrame.iterrows()` para fazer isso:

```python
# Calcular a pontuação total
total_pontos = 0
for index, row in df.iterrows():
    total_pontos += row['Pontuação']
print(f"A pontuação total é: {total_pontos}")
```

Neste exemplo, usamos a função Pandas `iterrows()` para iterar sobre cada linha, adicionando os valores da coluna *Pontuação* um por um. O resultado obtido será este:

```none
A pontuação total é: 265
```

Nota Ao usar a função Pandas `iterrows()`, é importante **não modificar diretamente** os dados iterados. Dependendo do tipo de dado, fazer isso poderia causar resultados inesperados e comportamentos indesejados.

### Processar linhas usando condições

A função Pandas `iterrows()` também pode ser usada para aplicar condições a linhas individuais do seu DataFrame. Por exemplo, imagine que você queira consultar os nomes de todas as pessoas com mais de 30 anos no DataFrame usado anteriormente:

```python
# Consultar nomes de pessoas com mais de 30 anos
nomes = []
for index, row in df.iterrows():
    if row['Idade'] > 30:
        nomes.append(row['Nome'])
print(f"Pessoas com mais de 30 anos: {nomes}")
```

Neste exemplo, usamos a função Pandas `DataFrame.iterrows()` para percorrer cada linha de dados. Dentro do *for loop*, ela verifica os valores na coluna *Idade* e armazena apenas os nomes das pessoas com mais de 30 anos na [lista Python](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/listas-em-python/ "Como usar uma lista em Python") `nomes`. Isso é feito usando a [função Python `append()`](https://www.ionos.com/pt-br/digitalguide/sites-de-internet/desenvolvimento-web/python-append/). Este será o resultado:

```none
Pessoas com mais de 30 anos: ['Beto']
```

Nota Embora seja fácil usar a função Pandas `DataFrames.iterrows()`, tenha em mente que ela **não é tão eficiente para manipular DataFrames grandes**. Em muitos casos, outras opções como a função `apply()` ou cálculos vetorizados apresentam melhor desempenho.


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