我有 2 個“完全”相同的資料幀。它們之間的區別是 DF1 有 1000 行,DF2 有 950 行。洗掉了 50 行,但想知道是什么。本質上 DF2 是 DF1 的一個子集,但我需要知道從其他地方的另一個服務洗掉了什么。
回傳第三個資料幀(DF3)是最簡單的,它顯示了被丟棄的資料幀(50)。
DF3(50 行 x 4 列)= DF1(1000 行 x 4 列)- DF2(950 行 x 4 列)
索引是 UniqueID。
謝謝!!
uj5u.com熱心網友回復:
isin在索引上使用:
df3 = df1[~df1.index.isin(df2.index)]
uj5u.com熱心網友回復:
本質上 DF2 是 DF1 的子集
你是對的,所以你可以使用differencefrom sets:
>>> df1.loc[df1.index.difference(df2.index)]
例子:
>>> df1
A
0 0.712755
1 0.400005
2 0.958937
3 0.112367
4 0.230177
>>> df2
A
0 0.712755
1 0.400005
4 0.230177
>>> df1.loc[df1.index.difference(df2.index)]
A
2 0.958937
3 0.112367
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/349890.html
上一篇:檢查在行級別僅填充一列的簡潔方法
下一篇:查找多個模式并合并
