首页  >  文章  >  后端开发  >  如何轻松识别和显示数据帧之间的差异

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

DDD
DDD原创
2024-10-22 20:50:05275浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn