2017-01-17 55 views
1

我有兩個dataframes其中包括列後找到多餘的值對比數據框蟒蛇的兩列

DF具有柱:ID1

id1 
1 
2 
3 
4 
5 
6 

DF2具有柱:ID2

id2 
2 
1 
5 
4 

正如你在df1中看到的那樣,有些值不在df2中['id2'] 3,6

有沒有什麼辦法通過做兩個數據幀列 或任何其他方式的差異來找到它?

我嘗試了使用

df2.isin(df1)

,但只得到布爾值。

,但我想實際行

回答

3

有許多的方法可以解決這個問題,但熊貓索引對象有一個difference方法找出所有正在從主叫指數第二索引中丟失索引。

idx1 = pd.Index(df.id1) 
idx2 = pd.Index(df.id2) 

idx1.difference(idx2).values 

array([3, 6]) 

隨着isin你會得到與此相同的結果:

df[~df.id1.isin(df2.id2)] 
1

你也可以使用組操作

list(set(df.id1) - set(df2.id2)) 

[3, 6]