# Pandas iterrows() : comment itérer sur les DataFrames ?

La fonction Python Pandas `DataFrame.iterrows()` est utilisée pour itérer sur les **lignes d’un [DataFrame Pandas](https://www.ionos.com/fr-be/digitalguide/sites-internet/developpement-web/python-pandas-dataframe/)**. Pour chaque ligne, elle renvoie un tuple Python contenant l’index ainsi qu’une série représentant les données de la ligne correspondante.

## Comment se présente la syntaxe de la méthode `iterrows()` de Pandas ?

La syntaxe de base de Pandas `DataFrame.iterrows()` est simple, car la fonction ne prend **aucun paramètre** :

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

Dans l’exemple de code ci-dessus, `df` désigne le DataFrame sur lequel l’itération doit être effectuée.

## Comment appliquer la fonction Pandas `iterrows()` ?

La fonction `DataFrame.iterrows()` est typiquement utilisée chaque fois que l’on doit **traiter des données ligne par ligne**. Elle est donc souvent combinée avec la boucle for en Python.

### La somme des valeurs d’une colonne

Dans ce qui suit, nous considérons un DataFrame avec les colonnes « Nom », « Âge » et « Points » :

```python
import pandas as pd
# Créer un exemple de DataFrame
data = {'Nom' : ['Anna', 'Ben', 'Clara'],
    'Âge' : [23, 35, 29],
    'Points' : [88, 92, 85]}
df = pd.DataFrame(data)
print(df)
```

Le code ci-dessus résulte dans le DataFrame suivant :

```none
Nom  Âge  Points
0   Anna   23     88
1    Ben   35     92
2  Clara   29     85
```

Il faut maintenant calculer la somme des points. Pour cela, on peut utiliser `DataFrame.iterrows()` de Pandas :

```python
# Calculer la somme des points
total_score = 0
for index, row in df.iterrows():
    total_score += row['Points']
print(f"La somme totale des points est : {total_score}")
```

Dans cet exemple, la fonction Pandas `iterrows()` est utilisée pour itérer sur les lignes et additionner successivement les valeurs de la colonne « Points ». Le résultat se présente ainsi :

```none
La somme totale des points est : 265
```

Note Lorsque vous travaillez avec `iterrows()` de Pandas, il est important de **ne jamais modifier directement les données** sur lesquelles vous itérez. Selon le type de données, cela peut conduire à des résultats inattendus et entraîner un comportement imprévisible.

### L’édition conditionnelle de lignes

La fonction `iterrows()` peut également être utilisée pour appliquer des conditions à certaines lignes de votre DataFrame. Par exemple, supposons que vous souhaitiez extraire les noms de toutes les personnes âgées de plus de 30 ans dans un DataFrame existant :

```python
# Récupérer le nom des personnes de plus de 30 ans
names = []
for index, row in df.iterrows():
    if row['Âge'] > 30:
        names.append(row['Nom'])
print(f"Personnes de plus de 30 ans : {names}")
```

Dans l’exemple de code, les lignes du DataFrame sont parcourues à l’aide de la fonction `DataFrame.iterrows()` de Pandas. Dans la boucle *for*, les valeurs de la colonne « Âge » sont examinées afin de ne stocker que les noms des personnes ayant plus de 30 ans dans la liste Python `names`. Pour cela, on utilise la fonction Python append(). Cette opération donne le résultat suivant :

```none
Personnes de plus de 30 ans : ['Ben']
```

Note Bien que `DataFrame.iterrows()` de Pandas soit facile à utiliser, il convient de l’employer avec prudence en raison de son **efficacité potentiellement réduite pour les DataFrames volumineux**. Dans de nombreux cas, il existe des alternatives plus performantes, telles que `apply()` ou le calcul vectorisé avec Pandas.


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