La fonction Python Pandas DataFrame.iterrows() est utilisée pour itérer sur les lignes d’un DataFrame Pandas. 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.

Hébergement Web
Hébergement Web flexible, performant et sûr
  • Certificat SSL et protection DDoS
  • Sauvegarde et restauration des données
  • Assistance 24/7 et conseiller personnel

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 :

df.iterrows()
python

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

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

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

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 :

# 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}")
python

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 :

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 :

# 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}")
python

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 :

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.

Cet article vous a-t-il été utile ?
Aller au menu principal