Maison  >  Article  >  développement back-end  >  Comment identifier et afficher facilement les différences entre les DataFrames

Comment identifier et afficher facilement les différences entre les DataFrames

DDD
DDDoriginal
2024-10-22 20:50:05275parcourir

How to Easily Identify and Display Differences Between DataFrames

Comparez les DataFrames et affichez les différences côte à côte

Dans le but d'identifier les écarts de données, il est souvent nécessaire de comparer deux dataframes et mettre en évidence les changements entre eux. Prenons l'exemple suivant :

"StudentRoster Jan-1":
id    Name   score                    isEnrolled           Comment
111   Jack   2.17                     True                 He was late to class
112   Nick   1.11                     False                Graduated
113   Zoe    4.12                     True

"StudentRoster Jan-2":
id    Name   score                    isEnrolled           Comment
111   Jack   2.17                     True                 He was late to class
112   Nick   1.21                     False                Graduated
113   Zoe    4.12                     False                On vacation

Pour obtenir le résultat souhaité, déterminez d'abord les lignes qui ont subi des modifications :

ne = (df1 != df2).any(1)

Ensuite, identifiez les entrées spécifiques qui ont changé :

ne_stacked = (df1 != df2).stack()
changed = ne_stacked[ne_stacked]
changed.index.names = ['id', 'col']

Procédez à l'extraction des valeurs originales et mises à jour pour les entrées modifiées :

difference_locations = np.where(df1 != df2)
changed_from = df1.values[difference_locations]
changed_to = df2.values[difference_locations]

Enfin, présentez les différences dans un format tabulaire convivial :

pd.DataFrame({'from': changed_from, 'to': changed_to}, index=changed.index)

Cette approche fournit un résumé complet des différences entre deux trames de données, mettant en évidence à la fois les valeurs modifiées et leurs emplacements, permettant une analyse rapide et efficace des écarts de données.

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