首頁  >  文章  >  後端開發  >  如何輕鬆識別和顯示資料幀之間的差異

如何輕鬆識別和顯示資料幀之間的差異

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