2017-06-14 122 views
1

我使用下面的代碼來表示重複的行Python的大熊貓:標誌重複行

df['duplicate']=df.Column_A.duplicated() 

然而,當我看着DF,我看到以下內容:

我需要排2也爲真,這樣我就可以容易地過濾「複製」行。我怎麼能做到這一點?

回答

5

根據docs使用keep參數並設置爲False。正如你所看到的,它默認爲first

import pandas as pd 

df = pd.DataFrame({'Column_A': ['AAA', 'AAB', 'AAB', 'AAC']}) 
df['duplicate'] = df.duplicated(keep=False) 

print(df) 

    Column_A duplicate 
0 'AAA'  False 
1 'AAB'  True 
2 'AAB'  True 
3 'AAC'  False 
+0

很好的解決方案,喬什。 +1 –

+0

謝謝,雖然@jeangelj做了大部分工作 – josh

3

我想象自己在荒野中丟失,所有我要生存是pd.factorizenp.bincount
請,不接受這個答案

f, u = pd.factorize(df.Column_A.values) 
df.assign(duplicate=np.bincount(f)[f] > 1) 

    Column_A duplicate 
0  AAA  False 
1  ABC  True 
2  ABC  True 
+0

哈哈 - 太滑稽了 – jeangelj