# Iterar sobre DataFrames com Pandas itterows()

Pode usar a função `DataFrame.iterrows()` da Biblioteca Python Pandas para iterar sobre as **linhas dos [DataFrames do Pandas](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/dataframes-do-pandas-python/)**. Esta função retorna para cada linha uma tupla Python composta por um índice e uma série que contém os dados da linha correspondente.

## Sintaxe do Pandas `iterrows()`

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

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

No código anterior, `df` refere-se ao DataFrame sobre o qual se deseja iterar.

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

A função `DataFrame.iterrows()` é normalmente utilizada quando é necessário **processar dados linha a linha**. Por isso, é frequentemente combinada com o loop for em Python.

### Sumar os valores de uma coluna

A seguir, usamos um DataFrame de exemplo que tem as colunas *Nome*, *Idade* e *Pontuação*:

```python
import pandas as pd
# Crear un DataFrame de ejemplo
data = {'Nombre': ['Ana', 'Teo', 'Clara'],
    'Edad': [23, 35, 29],
    'Puntuación': [88, 92, 85]}
df = pd.DataFrame(data)
print(df)
```

O código anterior gera o seguinte DataFrame:

```none
Nombre  Edad  Puntuación
0    Ana     23         88
1    Teo     35         92
2  Clara     29         85
```

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

```python
# Calcular la suma de las puntuaciones
total_score = 0
for index, row in df.iterrows():
    total_score += row['Puntuación']
print(f"La suma total de las puntuaciones es: {total_score}")
```

Neste exemplo, utilizou-se a função `iterrows()` do Pandas para iterar sobre as linhas e somar sucessivamente os valores presentes na coluna *Pontuação*. O resultado é o seguinte:

```none
La suma total de las puntuaciones es: 265
```

Nota Ao trabalhar com o Pandas `iterrows()`, certifique-se de **nunca modificar diretamente** os dados sobre os quais está a iterar. Se o fizer, os dados gerados podem não ser os esperados e podem ocorrer erros imprevistos.

### Aplicar condições a linhas individuais

A função `iterrows()` também pode ser usada para aplicar condições a linhas individuais de um DataFrame. Imagine que você deseja saber os nomes de todas as pessoas com mais de 30 anos no DataFrame que usamos anteriormente como exemplo:

```python
# Obtener los nombres de las personas que tienen más de 30 años
names = []
for index, row in df.iterrows():
    if row['Edad'] > 30:
        names.append(row['Nombre'])
print(f"Personas mayores de 30 años: {names}")
```

No código anterior, itera-se sobre as linhas do conjunto de dados utilizando `DataFrame.iterrows()` do Pandas. Dentro do loop `for`, avalia-se os valores da coluna *Idade* para armazenar na lista Python `names` apenas os nomes das pessoas com mais de 30 anos. Para isso, utiliza-se a função append() do Python. O resultado obtido é o seguinte:

```none
Personas mayores de 30 años: ['Teo']
```

Nota Embora a função `DataFrames.iterrows()` do Pandas seja fácil de usar, ela deve ser utilizada com cuidado, pois é **potencialmente menos eficiente em DataFrames grandes**. Em muitos casos, existem alternativas mais adequadas, como `apply()` ou o cálculo vetorizado do Pandas.


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/pandas-dataframe-itterows-em-python/](https://www.ionos.com/pt-pt/digitalguide/paginas-web/desenvolvimento-web/pandas-dataframe-itterows-em-python/) for AI/LLM consumption.