pandas判断和删除重复——duplicated()、drop_duplicates()
1.函数
DataFrame.duplicated(subset=None, keep=‘first’)
功能:指定列数据重复项判断;
返回:指定列,每行如果重复则为True,否则为False
df.drop_duplicates(subset=None, keep=‘first’, inplace=False)
功能:删除重复行
返回:DataFrame的副本或直接在源数据上修改
参数:
subset=None:列标签或标签序列,默认使用所有列
keep=‘first’:{‘first’,‘last’,False}
first:将第一次出现重复值之外的行标记为True
last:将最后一次出现重复值之外的行标记为True
False:将所有重复项标记为True
2.实例
实例1:重复数据判断
df= pd.DataFrame({'k1': [ 's1']* 3 + ['s2']* 5,'k2' : [1, 1, 2, 3, 3, 4, 4,4]})
result1=df.duplicated()
result2=df.duplicated(keep='last')
result3=df.duplicated(keep=False)
result4=df.duplicated('k1')
result5=df.duplicated(['k1','k2'])
# df result1 result2 result3 result4 result5
# first last False ['k1'] ['k1','k2']
k1 k2
0 s1 1 0 False 0 True 0 True 0 False 0 False
1 s1 1 1 True 1 False 1 True 1 True 1 True
2 s1 2 2 False 2 False 2 False 2 True 2 False
3 s2 3 3 False 3 True 3 True 3 False 3 False
4 s2 3 4 True 4 False 4 True 4 True 4 True
5 s2 4 5 False 5 True 5 True 5 True 5 False
6 s2 4 6 True 6 True 6 True 6 True 6 True
7 s2 4 7 True 7 False 7 True 7 True 7 True
实例2.1:重复数据清理- 副本
df.drop_duplicates() #保留第一个值,返回副本
df.drop_duplicates(keep='last') #保留最后一个值,返回副本
df.drop_duplicates(keep=False) #删除所有重复值,返回副本
df.drop_duplicates('k1') #删除第一列重复值,返回副本
df.drop_duplicates(['k1','k2']) #删除全部列重复值,返回副本
# df result1 result2 result3 result4 result5
# first last False ['k1'] ['k1','k2']
k1 k2 k1 k2 k1 k2 k1 k2 k1 k2 k1 k2
0 s1 1 0 s1 1 1 s1 1 2 s1 2 0 s1 1 0 s1 1
1 s1 1 2 s1 2 2 s1 2 3 s2 3 2 s1 2
2 s1 2 3 s2 3 4 s2 3 3 s2 3
3 s2 3 5 s2 4 7 s2 4 5 s2 4
4 s2 3
5 s2 4
6 s2 4
7 s2 4
实例2.2:重复数据清理- 就地修改
df.drop_duplicates(inplace=True)#就地修改
df
k1 k2
0 s1 1
2 s1 2
3 s2 3
5 s2 4
原文链接: pandas35 数据清理- 重复数据判断删除duplicated,drop_duplicates( tcy)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
2020-05-23 指针大小与32位、64位系统