並排比較資料幀並顯示差異
為了識別資料差異,經常需要比較兩個資料幀並強調它們之間的變化。考慮以下範例:
"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中文網其他相關文章!