Comment comparer les DataFrames Pandas et visualiser les différences ?

Mary-Kate Olsen
Libérer: 2024-10-22 20:45:19
original
915 Les gens l'ont consulté

How to Compare Pandas DataFrames and Visualize Differences?

Comparer les DataFrames et visualiser les différences avec une comparaison côte à côte

Étant donné deux dataframes Pandas, la tâche consiste à identifier et à présenter les changements entre eux dans un format convivial. L'objectif est de générer un tableau HTML qui met visuellement en évidence les lignes qui ont changé, affichant à la fois les valeurs d'origine et mises à jour.

Identifier les modifications de ligne

Pour y parvenir, il est nécessaire de déterminer les lignes qui ont changé. Cela peut être accompli en utilisant l'opération ne (pas égal), qui renvoie un masque booléen pour tous les éléments où les valeurs correspondantes dans deux trames de données diffèrent.

<code class="python">ne = (df1 != df2).any(1)</code>
Copier après la connexion

Localisation des entrées modifiées

Une fois les lignes modifiées identifiées, les entrées spécifiques qui ont été modifiées peuvent être localisées à l'aide de la fonction stack(). En filtrant le résultat empilé en fonction du masque booléen, il devient possible d'extraire les entrées qui ont changé.

<code class="python">changed = (df1 != df2).stack()[ne_stacked]
changed.index.names = ['id', 'col']</code>
Copier après la connexion

Extraction des valeurs modifiées

Ensuite, l'original et les valeurs mises à jour peuvent être extraites à l’aide de la fonction Where. Cela permet la création d'un DataFrame qui résume les modifications, avec les colonnes « de » et « à » représentant respectivement les valeurs d'origine et modifiées.

<code class="python">difference_locations = np.where(df1 != df2)
changed_from = df1.values[difference_locations]
changed_to = df2.values[difference_locations]</code>
Copier après la connexion

Génération d'un tableau HTML

Enfin, les modifications extraites peuvent être organisées dans un tableau HTML pour visualiser les différences entre les deux dataframes. Ce tableau peut être rendu avec n'importe quel moteur de rendu HTML, tel que la méthode to_html de Pandas, pour fournir une comparaison côte à côte conviviale.

<code class="python">pd.DataFrame({'from': changed_from, 'to': changed_to}, index=changed.index).to_html()</code>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!