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

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學習者快速成長!