我使用以下代码表示重复的行
df['duplicate']=df.Column_A.duplicated()
然而,当我看到df时,我看到以下内容:
Column_A | duplicate
AAA False
ABC False
ABC True
我需要第2行也是True,以便我可以轻松地过滤“重复”行。我怎么能做到这一点?
答案 0 :(得分: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
答案 1 :(得分:3)
我想我自己在旷野中迷失了,我必须生存的只有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