Comment comparer et afficher efficacement les différences de trames de données à l'aide de Python

Mary-Kate Olsen
Libérer: 2024-10-22 20:10:39
original
324 Les gens l'ont consulté

How to Compare and Display Dataframe Differences Effectively Using Python

Comparer et afficher efficacement les différences de trames de données

Introduction

Identifier et comprendre les différences entre deux Les dataframes sont une tâche courante dans l’analyse des données. Qu'il s'agisse de comparer des données historiques aux tendances actuelles ou de suivre les changements dans une base de données, la capacité de mettre en évidence ces changements avec précision est cruciale.

Énoncé du problème

Supposons que nous ayons deux trames de données. contenant des informations sur la liste des étudiants de deux mois différents : « StudentRoster Jan-1 » et « StudentRoster Jan-2 ». Notre objectif est de créer un tableau HTML qui affiche clairement les changements entre ces deux cadres de données, affichant à la fois les nouvelles et les anciennes valeurs pour chaque ligne.

Solution

Identifier les lignes modifiées

La première étape consiste à déterminer quelles lignes ont réellement changé. Nous pouvons utiliser la fonction any() pour vérifier chaque ligne pour déceler d'éventuelles différences :

<code class="python">import pandas as pd
import numpy as np

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

Cela renverra une série booléenne où True indique une ligne modifiée.

Extraction des valeurs modifiées

Ensuite, nous devons extraire les valeurs réellement modifiées. Nous utilisons la méthode .stack() pour transformer le dataframe en une seule colonne, puis filtrons cette colonne pour les valeurs modifiées :

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

Cela nous donnera les noms d'index et de colonne des valeurs modifiées.

Cela nous donnera les noms d'index et de colonne des valeurs modifiées.

Extraction des valeurs précédentes et nouvelles

<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

En utilisant l'index des valeurs modifiées, nous pouvons extraire les valeurs précédentes et nouvelles pour chaque entrée modifiée :

Création du tableau HTML

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

Enfin, nous pouvons créer le tableau HTML en combinant les valeurs extraites :

Ce dataframe contient deux colonnes : "from" et « à », qui affichent les valeurs originales et nouvelles pour chaque entrée modifiée. L'index du dataframe identifie la ligne et la colonne où le changement s'est produit.En affichant côte à côte les valeurs modifiées et leurs valeurs précédentes et nouvelles, ce tableau HTML fournit un aperçu clair et complet des modifications. entre les deux dataframes.

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!