比較資料幀:尋找一個中存在但另一個中不存在的行
比較資料幀以識別差異對於資料品質保證和合併至關重要營運。在本例中,我們有兩個具有特定結構的資料幀(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中文網其他相關文章!