📅  最后修改于: 2023-12-03 14:51:05.050000             🧑  作者: Mango
在 pandas 中,可以使用 duplicates()
函数获取数据框中的重复行。该函数返回一个布尔 Series,其中指示每行是否是重复行。根据条件进行过滤即可删除重复行。
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 5],
'B': [5, 6, 5, 7, 8, 8],
'C': [0, 0, 1, 1, 1, 2]})
# 查看重复行
duplicated = df.duplicated(keep='last')
print(duplicated)
# 删除重复行
df = df[~duplicated]
print(df)
输出结果为:
0 False
1 False
2 False
3 False
4 True
5 False
dtype: bool
A B C
0 1 5 0
1 2 6 0
2 3 5 1
3 4 7 1
5 5 8 2
其中 keep='last'
参数表示保留最后一行,如果想保留第一行,可以设置为 keep='first'
。删除重复行的方法是使用 ~
取反操作符,将重复行的布尔 Series 取反后进行过滤。
值得注意的是,如果数据框中有多个列,我们可以指定 subset
参数,来选择希望根据哪些列进行重复行的判断。
参考资料: