2017-04-04 62 views
1

我有一個數據幀是從另一個數據幀中刪除重複數據的結果集。如何從一個數據幀獲取行(如果值位於另一個數據幀中)

changes = full_set.drop_duplicates(subset=['Employee ID', 'Benefit Plan Type', 'Sum of Premium'], keep='last') 

然後,我有另一個其中ID和計劃類型仍然列出了兩次

dupe_accts = changes.set_index(['Employee ID', 'Benefit Plan Type']).index.get_duplicates() 

我試圖現在要做的是有第三個數據幀,如果ID和計劃類型是將在

dupe_accts 

它會輸出

changes 

到一個新的數據幀

到目前爲止,我有

dupes = changes[['Employee ID', 'Benefit Plan Type']].isin(dupe_accts) 

但這輸出

False False 
False False 
False False 
False False 
False False 

回答

3

你並不需要設置索引,並獲得愚弄的方式。你可以使用duplicated來得到一個布爾數組,並用它掩蓋change數據幀。

keep=False參數將識別所有重複項。這與其他選項不同,它不會將第一個或最後一個確定爲重複。

duplicated = changes.duplicated(
    subset=['Employee ID', 'Benefit Plan Type'], keep=False) 
dupe_accts = changes[duplicated] 
+0

這是完美的。謝謝 –

相關問題