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