如何找到一個資料幀中存在但另一個資料幀中不存在的行(比較 df1 和 df2)?

Susan Sarandon
發布: 2024-10-19 21:07:03
原創
577 人瀏覽過

How to Find Rows Present in One Dataframe but Not in Another (Comparing df1 and df2)?

比較資料幀:尋找一個中存在但另一個中不存在的行

比較資料幀以識別差異對於資料品質保證和合併至關重要營運。在本例中,我們有兩個具有特定結構的資料幀(df1 和 df2),需要確定 df2 中存在但 df1 中不存在的行。

最初,嘗試使用 df1 != df2 比較資料幀會導致錯誤。此方法僅適用於具有相同行和列的資料幀。為了找到對稱差異,我們需要不同的方法。

一種方法涉及連接資料幀:

df = pd.concat([df1, df2])
df = df.reset_index(drop=True)
登入後複製

然後,按所有列對連接的資料幀進行分組:

df_gpby = df.groupby(list(df.columns))
登入後複製

接下來,我們透過取得僅存在一行的索引值來識別唯一記錄:

idx = [x[0] for x in df_gpby.groups.values() if len(x) == 1]
登入後複製

使用這些索引,我們可以過濾資料幀以獲得所需的結果:

df.reindex(idx)
登入後複製

此方法根據日期索引和Fruit 欄位的比較提供df2 中存在但df1 中不存在的行。

以上是如何找到一個資料幀中存在但另一個資料幀中不存在的行(比較 df1 和 df2)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!