Pandas : Comment mettre à jour les valeurs dans les lignes



Vous pouvez utiliser la syntaxe de base suivante pour mettre à jour les valeurs dans un DataFrame pandas tout en utilisant des iterrows :

for i, row in df.iterrows():
    points_add = 10
    if row['points'] > 15:
        points_add = 50
    df.at[i,'points'] = points_add

Cet exemple particulier parcourt chaque ligne d’un DataFrame et met à jour la valeur dans la colonne de points à 50 si la valeur est actuellement supérieure à 15.

Si la valeur actuelle est inférieure ou égale à 15, la valeur est mise à jour pour devenir 10 .

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : mettre à jour les valeurs dans Pandas DataFrame dans les lignes

Supposons que nous ayons le DataFrame pandas suivant qui montre le nombre de points marqués par différents joueurs de basket-ball :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'player': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'],
                   'points': [10, 12, 14, 15, 15, 15, 16, 17, 20]})

#view DataFrame
print(df)

  player  points
0      A      10
1      B      12
2      C      14
3      D      15
4      E      15
5      F      15
6      G      16
7      H      17
8      I      20

Supposons que nous souhaitions mettre à jour les valeurs de la colonne des points en utilisant la logique suivante :

  • Si les points sont inférieurs ou égaux à 15, mettez à jour la valeur pour qu’elle soit 10 .
  • Si les points sont supérieurs à 15, mettez à jour la valeur pour qu’elle soit 50 .

Nous pouvons utiliser la fonction iterrows pour parcourir chaque ligne du DataFrame et effectuer ces mises à jour :

#iterate over each row in DataFrame and update values in points column
for i, row in df.iterrows():
    points_add = 10
    if row['points'] > 15:
        points_add = 50
    df.at[i,'points'] = points_add

#view updated DataFrame
print(df)

  player  points
0      A      10
1      B      10
2      C      10
3      D      10
4      E      10
5      F      10
6      G      50
7      H      50
8      I      50

Nous pouvons voir que les valeurs dans la colonne des points ont été mises à jour en conséquence.

Remarque : Vous pouvez trouver la documentation complète de la fonction pandas iterrows() ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans les pandas :

Pandas : Comment parcourir les colonnes
Pandas : comment sélectionner des lignes entre deux valeurs
Pandas : mettre à jour les valeurs des colonnes en fonction d’un autre DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *