Comment comparer deux colonnes dans Pandas : avec des exemples



Souvent, vous souhaiterez peut-être comparer deux colonnes dans un Pandas DataFrame et écrire les résultats de la comparaison dans une troisième colonne.

Vous pouvez facilement le faire en utilisant la syntaxe suivante :

conditions=[(condition1),(condition2)]
choices=["choice1","choice2"]

df["new_column_name"]=np.select(conditions, choices, default)

Voici ce que fait ce code :

  • conditions sont les conditions à vérifier entre les deux colonnes
  • les choix sont les résultats à retourner en fonction des conditions
  • np.select est utilisé pour renvoyer les résultats dans la nouvelle colonne

L’exemple suivant montre comment utiliser ce code dans la pratique.

Exemple : comparer deux colonnes dans Pandas

Supposons que nous ayons le DataFrame suivant qui montre le nombre de buts marqués par deux équipes de football dans cinq matches différents :

import numpy as np
import pandas as pd

#create DataFrame
df = pd.DataFrame({'A_points': [1, 3, 3, 3, 5],
                   'B_points': [4, 5, 2, 3, 2]})
             
#view DataFrame      
df

          A_points  B_points
0         1         4
1         3         5
2         3         2
3         3         3
4         5         2

Nous pouvons utiliser le code suivant pour comparer le nombre de buts par ligne et afficher le vainqueur du match dans une troisième colonne :

#define conditions
conditions = [df['A_points'] > df['B_points'], 
              df['A_points'] < df['B_points']]

#define choices
choices = ['A', 'B']

#create new column in DataFrame that displays results of comparisons
df['winner'] = np.select(conditions, choices, default='Tie')

#view the DataFrame
df

          A_points  B_points  winner
0         1         4         B
1         3         5         B
2         3         2         A
3         3         3         Tie
4         5         2         A

Les résultats de la comparaison sont affichés dans la nouvelle colonne appelée gagnant .

Remarques

Voici quelques éléments à garder à l’esprit lorsque vous comparez deux colonnes dans un DataFrame pandas :

  • Le nombre de conditions et de choix doit être égal.
  • La valeur par défaut spécifie la valeur à afficher dans la nouvelle colonne si aucune des conditions n’est remplie.
  • NumPy et Pandas sont nécessaires pour que ce code fonctionne.

Ressources additionnelles

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

Comment renommer des colonnes dans Pandas
Comment ajouter une colonne à un DataFrame Pandas
Comment modifier l’ordre des colonnes dans Pandas DataFrame

Ajouter un commentaire

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