比較資料幀:尋找中存在但另一個中不存在的行
比較資料幀以識別差異對於資料品質保證和合併至關重要營運。在本例中,我們有兩個具有特定結構的資料幀(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)
此方法提供df2 中存在但不存在的行在df1 中基於日期索引和Fruit 列的比較。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3