如何轻松识别和显示数据帧之间的差异

DDD
发布: 2024-10-22 20:50:05
原创
289 人浏览过

How to Easily Identify and Display Differences Between DataFrames

并排比较数据帧并显示差异

为了识别数据差异,经常需要比较两个数据帧并强调它们之间的变化。考虑以下示例:

"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
登录后复制

要获得所需的输出,首先确定已发生任何更改的行:

ne = (df1 != df2).any(1)
登录后复制

接下来,确定已更改的特定条目:

ne_stacked = (df1 != df2).stack()
changed = ne_stacked[ne_stacked]
changed.index.names = ['id', 'col']
登录后复制

继续提取已更改条目的原始值和更新值:

difference_locations = np.where(df1 != df2)
changed_from = df1.values[difference_locations]
changed_to = df2.values[difference_locations]
登录后复制

最后,以用户友好的表格格式呈现差异:

pd.DataFrame({'from': changed_from, 'to': changed_to}, index=changed.index)
登录后复制

这种方法提供了两个数据帧之间差异的全面总结,突出显示更改的值及其位置,从而能够快速有效地分析数据差异。

以上是如何轻松识别和显示数据帧之间的差异的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!