Python pandas:标记重复行

时间:2017-06-14 21:15:14

标签: python pandas duplicates

我使用以下代码表示重复的行

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

然而,当我看到df时,我看到以下内容:

Column_A | duplicate
AAA        False
ABC        False
ABC        True

我需要第2行也是True,以便我可以轻松地过滤“重复”行。我怎么能做到这一点?

2 个答案:

答案 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.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