2017-10-09 81 views
1

我有一組DF分組由多個列找到重複的行大熊貓

id val1 val2 
1  1.1  2.2 
1  1.1  2.2 
2  2.1  5.5 
3  8.8  6.2 
4  1.1  2.2 
5  8.8  6.2 

我想val1 and val2,並得到類似的數據幀僅與具有相同val1 and val2組合的多次數的行。

最終DF:

id val1 val2 
1  1.1  2.2 
4  1.1  2.2 
3  8.8  6.2 
5  8.8  6.2 

回答

3

您需要duplicated與參數subsetboolean indexing指定檢查與keep=False爲面罩和過濾所有重複列:

df = df[df.duplicated(subset=['val1','val2'], keep=False)] 
print (df) 
    id val1 val2 
0 1 1.1 2.2 
1 1 1.1 2.2 
3 3 8.8 6.2 
4 4 1.1 2.2 
5 5 8.8 6.2 

詳細信息:

print (df.duplicated(subset=['val1','val2'], keep=False)) 
0  True 
1  True 
2 False 
3  True 
4  True 
5  True 
dtype: bool