Maison >développement back-end >Tutoriel Python >Comment identifier les lignes et les colonnes uniques à un DataFrame lors de la comparaison de deux DataFrames ?

Comment identifier les lignes et les colonnes uniques à un DataFrame lors de la comparaison de deux DataFrames ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-04 07:33:15215parcourir

How to Identify Rows and Columns Unique to One DataFrame When Comparing Two DataFrames?

Détermination des différences entre les trames de données : une approche globale

Étant donné deux trames de données, df1 et df2, df2 étant un sous-ensemble de df1, l'objectif est de créer une nouvelle trame de données, df3, qui capture les éléments présents dans df1 mais pas dans df2. Cela permet essentiellement d'identifier les lignes et les colonnes uniques de df1 qui manquent dans df2.

Utiliser drop_duplicates : une solution simple

Une méthode courante pour y parvenir consiste à utiliser la fonction drop_duplicates. En concaténant df1 et df2 puis en appelant drop_duplicates avec keep=False, une nouvelle trame de données est obtenue qui conserve uniquement les lignes non dupliquées. Cette approche fonctionne efficacement pour les blocs de données qui ne contiennent pas d'entrées en double.

Résolution des blocs de données avec des doublons

Cependant, dans les scénarios où les blocs de données initiaux peuvent contenir doublons en interne, la méthode drop_duplicates peut ne pas donner des résultats précis. Pour gérer de tels cas, des techniques alternatives sont nécessaires.

Méthode 1 : Utiliser isin avec Tuple

Dans cette approche, un tuple est créé à partir de chaque ligne de df1 et df2 , et la fonction isin est utilisée pour comparer ces tuples. Le bloc de données résultant comprendra des lignes de df1 qui n'ont pas de tuples correspondants dans df2, mettant ainsi en évidence les éléments uniques.

Méthode 2 : utiliser la fusion avec l'indicateur

Une autre La méthode consiste à fusionner df1 et df2 à l'aide de la fonction de fusion avec un indicateur défini sur "True". Cette opération ajoute une colonne nommée "_merge" qui indique la provenance de chaque ligne. En filtrant le bloc de données résultant en fonction des lignes où "_merge" n'est pas "les deux", il est possible d'isoler les lignes qui sont présentes dans df1 mais pas dans df2.

En tirant parti de ces techniques, les développeurs peuvent efficacement déterminez les différences entre deux blocs de données et créez un nouveau bloc de données qui contient uniquement les éléments uniques présents dans df1 mais pas dans df2.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn