我有一个数据框有一些重复的行。我只想在整行重复时删除。
df.loc[df.duplicated(keep='first')]
我正在使用上面的一列,但如果一列重复,它会删除所有内容。 如下图
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
2 'cat' 'bat' 'lmn'
3 'cat' 'bat' 'xyz'
**output**
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
我想要这样的输出
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
2 'cat' 'bat' 'lmn'
答案 0 :(得分:2)
您可以使用 drop_duplicates:
df.drop_duplicates(keep='first')
答案 1 :(得分:2)
df.duplicated()
按预期工作。您的 df.loc
仅过滤重复的而不是删除它们。除了使用 df.loc
,您可以简单地根据 df.duplicated()
返回的布尔系列进行索引,方法是将其与 ~
df[~df.duplicated()]
Column1 Column2 Column3
0 'cat' 'bat' 'xyz'
1 'toy' 'flower' 'abc'
2 'cat' 'bat' 'lmn'
您也可以直接使用 df.drop_duplicates()