我使用下面的代碼來表示重複的行Python的大熊貓:標誌重複行
df['duplicate']=df.Column_A.duplicated()
然而,當我看着DF,我看到以下內容:
我需要排2也爲真,這樣我就可以容易地過濾「複製」行。我怎麼能做到這一點?
我使用下面的代碼來表示重複的行Python的大熊貓:標誌重複行
df['duplicate']=df.Column_A.duplicated()
然而,當我看着DF,我看到以下內容:
我需要排2也爲真,這樣我就可以容易地過濾「複製」行。我怎麼能做到這一點?
根據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
我想象自己在荒野中丟失,所有我要生存是pd.factorize
和np.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
哈哈 - 太滑稽了 – jeangelj
很好的解決方案,喬什。 +1 –
謝謝,雖然@jeangelj做了大部分工作 – josh