python中drop_duplicates()函数的具体使用

 更新时间:2026年04月17日 09:21:47   作者:林深时见鹿1  
本文主要介绍了python中drop_duplicates()函数的具体使用,介绍了其四个核心参数subset、keep、inplace和ignore_index,具有一定的参考价值,感兴趣的可以了解一下

一、基础语法

# DataFrame 使用
df.drop_duplicates(
    subset=None,
    keep="first",
    inplace=False,
    ignore_index=False
)
# Series 使用(用法一致)
s.drop_duplicates(keep="first", inplace=False)

参数说明

参数说明默认值
subset指定检查重复的列名或列名列表None(所有列)
keep保留哪个重复值:'first'/'last'/False'first'
inplace是否原地修改False
ignore_index是否重置索引False

二、4 个核心参数(必看)

这是理解这个函数的关键,每个参数都有明确用途:

1.subset:指定判断重复的列

  • 默认值:None整行所有列都相同才算重复
  • 用法:传入列名列表,比如 subset=["姓名", "年龄"] → 只有这两列都相同才判定为重复

2.keep:保留哪一行

  • keep="first"(默认):保留第一次出现的行,删除后面重复的
  • keep="last"保留最后一次出现的行,删除前面重复的
  • keep=False把所有重复行全部删除,一条都不留

3.inplace:是否直接修改原数据

  • inplace=False(默认):返回一个新的 DataFrame,原数据不变
  • inplace=True直接在原数据上删除重复行,不返回新对象

4.ignore_index:是否重置索引

  • ignore_index=False(默认):删除后保留原来的索引
  • ignore_index=True:删除后重置索引为 0,1,2...

三、最直观的示例(一看就懂)

先创建一个带重复数据的 DataFrame:

import pandas as pd
data = {
    "姓名": ["小明", "小红", "小明", "小明", "小红"],
    "科目": ["数学", "语文", "数学", "英语", "语文"],
    "分数": [90, 85, 90, 88, 85]
}
df = pd.DataFrame(data)
print(df)

输出:

   姓名  科目  分数
0  小明  数学   90
1  小红  语文   85
2  小明  数学   90  ← 重复行
3  小明  英语   88
4  小红  语文   85  ← 重复行

示例 1:默认用法(整行重复才删,保留第一次)

df_new = df.drop_duplicates()
print(df_new)

结果:行 0、1、3、4 保留,行 2 删除。

示例 2:只按某几列判断重复

# 只要【姓名+科目】重复就算重复
df_new = df.drop_duplicates(subset=["姓名", "科目"])

示例 3:保留最后一次出现的重复行

df_new = df.drop_duplicates(keep="last")

示例 4:彻底删除所有重复行(一条不留)

df_new = df.drop_duplicates(keep=False)

示例 5:直接修改原数据 + 重置索引

df.drop_duplicates(inplace=True, ignore_index=True) 

四、高频实用场景总结

整表去重

df.drop_duplicates() 

按关键字段去重(最常用)

df.drop_duplicates(subset=["ID", "订单号"]) 

保留最新数据

df.drop_duplicates(subset=["用户ID"], keep="last") 

找出所有完全唯一的数据

df.drop_duplicates(keep=False) 

五、重要注意事项

  1. 区分 drop_duplicates() 和 unique()
    • drop_duplicates() → 返回DataFrame
    • unique() → 返回一维数组(numpy array)
  2. 空值 NaN 会被视为相同值两行都有 NaN,会被判定为重复
  3. 不修改原数据(默认)想直接覆盖原数据必须加 inplace=True

总结

drop_duplicates() 就是 pandas 去重神器,核心记住 4 点:

  1. subset 定判断重复的列
  2. keep 定保留哪条重复数据
  3. inplace 定是否改原数据
  4. ignore_index 定是否重置索引

到此这篇关于python中drop_duplicates()函数的具体使用的文章就介绍到这了,更多相关python drop_duplicates() 使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用pdf2image实现PDF转图片的完整指南

    Python使用pdf2image实现PDF转图片的完整指南

    pdf2image 是一个用于将 PDF 文件转换为图像的 Python 库,它基于强大的 poppler-utils 工具集,提供简单高效的 PDF 到图像的转换功能,本文给大家介绍了Python使用pdf2image实现PDF转图片的完整指南,需要的朋友可以参考下
    2025-11-11
  • Python Pandas pandas.read_sql函数实例用法

    Python Pandas pandas.read_sql函数实例用法

    在本篇文章里小编给大家整理的是一篇关于Python Pandas pandas.read_sql函数详解内容,有需要的朋友们可以学习下。
    2021-06-06
  • python实现DEM数据的阴影生成的方法

    python实现DEM数据的阴影生成的方法

    这篇文章主要介绍了python实现DEM数据的阴影生成的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python实现轻松比较两个文件夹的多种方法

    Python实现轻松比较两个文件夹的多种方法

    在处理数据集时,我们经常会遇到两个文件夹中文件数目不一致的情况,本文我们就来使用Python比较一下两个文件夹,轻松实现找出多出的文件,有需要的可以了解下
    2025-09-09
  • Python读写及备份oracle数据库操作示例

    Python读写及备份oracle数据库操作示例

    这篇文章主要介绍了Python读写及备份oracle数据库操作,结合实例形式分析了Python针对Oracle数据库操作的相关库安装,以及使用cx_Oracle与pandas库进行Oracle数据库的查询、插入、备份等操作相关实现技巧,需要的朋友可以参考下
    2018-05-05
  • Python使用Matplotlib实现Logos设计代码

    Python使用Matplotlib实现Logos设计代码

    这篇文章主要介绍了Python使用Matplotlib实现Logos设计代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12
  • python实现定制交互式命令行的方法

    python实现定制交互式命令行的方法

    这篇文章主要介绍了python实现定制交互式命令行的方法,需要的朋友可以参考下
    2014-07-07
  • python导入坐标点的具体操作

    python导入坐标点的具体操作

    在本篇文章里小编给大家分享了关于python导入坐标点的具体操作步骤和图解,有需要的朋友们跟着学习下。
    2019-05-05
  • 使用python连接mysql数据库数据方式

    使用python连接mysql数据库数据方式

    这篇文章主要介绍了使用python连接mysql数据库数据方式,住哟有两种方式,具体内容,需要的小伙伴可以参考下面文章内容,希望对你有所帮助
    2022-03-03
  • 神经网络训练采用gpu设置的方式

    神经网络训练采用gpu设置的方式

    这篇文章主要介绍了神经网络训练采用gpu设置的方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论