2014-10-06 1773 views
0

我知道如果我在Pandas中有一個DataFrame對象,我可以通過在DataFrame上使用.duplicated()方法來確定行是否重複。這將根據行是否重複返回一個給出True或False的系列。我的問題是,是否有可能用這個對象索引原始的DataFrame,以便我只返回重複項(以便我可以直觀地檢查它們)?在Pandas中查看重複的行

+0

你的意思是說'df [df.duplicated()]''? – 2014-10-06 21:24:34

+0

@ajcr,是的,這就是我的意思。我在我的代碼中做了一些愚蠢的事情,導致這種解決方案無法正常工作。 – gammapoint 2014-10-06 21:53:07

回答

1
In [18]: df = pd.DataFrame(np.random.randint(0, 2, (10, 4))) 

In [19]: df 
Out[19]: 
    0 1 2 3 
0 0 1 1 0 
1 0 1 1 1 
2 0 1 1 1 
3 1 1 0 0 
4 0 1 0 1 
5 1 0 1 0 
6 0 1 0 1 
7 1 1 1 0 
8 0 1 1 0 
9 0 0 0 1 

[10 rows x 4 columns] 

In [20]: df[df.duplicated()] 
Out[20]: 
    0 1 2 3 
2 0 1 1 1 
6 0 1 0 1 
8 0 1 1 0 

[3 rows x 4 columns] 
+0

謝謝。我在這種類型的索引不適合我的時候做了一些愚蠢的事情(我的例子稍微複雜一些)。但是,謝謝! – gammapoint 2014-10-06 21:52:09