Pandas : sélectionnez les lignes où deux colonnes sont égales
Vous pouvez utiliser les méthodes suivantes pour sélectionner des lignes dans un DataFrame pandas où deux colonnes sont (ou ne sont pas) égales :
Méthode 1 : sélectionner les lignes où deux colonnes sont égales
df.query('column1 == column2')
Méthode 2 : sélectionner les lignes dans lesquelles deux colonnes ne sont pas égales
df.query('column1 != column2')
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :
import pandas as pd #create DataFrame df = pd.DataFrame({'painting': ['A', 'B', 'C', 'D', 'E', 'F'], 'rater1': ['Good', 'Good', 'Bad', 'Bad', 'Good', 'Good'], 'rater2': ['Good', 'Bad', 'Bad', 'Good', 'Good', 'Good']}) #view DataFrame print(df) painting rater1 rater2 0 A Good Good 1 B Good Bad 2 C Bad Bad 3 D Bad Good 4 E Good Good 5 F Good Good
Exemple 1 : sélectionner des lignes où deux colonnes sont égales
Nous pouvons utiliser la syntaxe suivante pour sélectionner uniquement les lignes du DataFrame où les valeurs des colonnes rater1 et rater2 sont égales :
#select rows where rater1 is equal to rater2 df.query('rater1 == rater2') painting rater1 rater2 0 A Good Good 2 C Bad Bad 4 E Good Good 5 F Good Good
Notez que seules les lignes où rater1 et rater2 sont égaux sont sélectionnées.
Nous pourrions également utiliser la fonction len() si nous voulons simplement compter combien de lignes ont des valeurs égales dans les colonnes rater1 et rater2 :
#count the number of rows where rater1 is equal to rater2 len(df.query('rater1 == rater2')) 4
Cela nous indique qu’il y a 4 lignes où les valeurs des colonnes rater1 et rater2 sont égales.
Exemple 2 : sélectionner des lignes dans lesquelles deux colonnes ne sont pas égales
Nous pouvons utiliser la syntaxe suivante pour sélectionner uniquement les lignes du DataFrame où les valeurs des colonnes rater1 et rater2 ne sont pas égales :
#select rows where rater1 is not equal to rater2 df.query('rater1 != rater2') painting rater1 rater2 1 B Good Bad 3 D Bad Good
Notez que seules les lignes où rater1 et rater2 ne sont pas égaux sont sélectionnées.
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