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!