0
我知道如果我在Pandas中有一个DataFrame对象,我可以通过在DataFrame上使用.duplicated()方法来确定行是否重复。这将根据行是否重复返回一个给出True或False的系列。我的问题是,是否有可能用这个对象索引原始的DataFrame,以便我只返回重复项(以便我可以直观地检查它们)?在Pandas中查看重复的行
我知道如果我在Pandas中有一个DataFrame对象,我可以通过在DataFrame上使用.duplicated()方法来确定行是否重复。这将根据行是否重复返回一个给出True或False的系列。我的问题是,是否有可能用这个对象索引原始的DataFrame,以便我只返回重复项(以便我可以直观地检查它们)?在Pandas中查看重复的行
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]
谢谢。我在这种类型的索引不适合我的时候做了一些愚蠢的事情(我的例子稍微复杂一些)。但是,谢谢! – gammapoint 2014-10-06 21:52:09
你的意思是说'df [df.duplicated()]''? – 2014-10-06 21:24:34
@ajcr,是的,这就是我的意思。我在我的代码中做了一些愚蠢的事情,导致这种解决方案无法正常工作。 – gammapoint 2014-10-06 21:53:07