2014-10-06 115 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