2017-04-04 8 views
1

別のデータフレームから重複を削除する結果セットであるデータフレームが1つあります。その後、私は別のIDとプランタイプはまだ私が今やろうとしている何回値が別のデータフレームにある場合、1つのデータフレームから行を取得する方法

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

記載されている

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

は、IDとプランタイプがある場合になる第三のデータフレームを持っています

dupe_accts 

でそれだろう出力

changes 
から行新しいデータフレーム

これまでのところ、私は

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

を持っているが、これはあなたがインデックスを設定し、そのようにdupes取得する必要はありません

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

これは完璧です。ありがとうございました –

関連する問題