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