Python Pandas DataFrame 去重操作详解:duplicated 与 drop_duplicates

夏知夏
夏知夏
发布时间:2026-10-14| 5人浏览过
原创

本文详细介绍Python Pandas库中DataFrame的去重操作。通过duplicated方法识别重复行,利用drop_duplicates方法移除重复数据。重点解析keep、inplace、subset等关键参数的用法,涵盖完全去重与指定列去重两种场景,帮助开发者高效处理数据清洗任务。

Pandas DataFrame去重概述

本文旨在介绍如何在Pandas中对DataFrame的行执行去重操作,通过查找相关函数来实现这一需求。

去重示例与结果分析

首先通过一个简单示例来演示具体效果。


from pandas import Series, DataFrame
 
data = DataFrame({'k': [1, 1, 2, 2]})
 
print data
 
IsDuplicated = data.duplicated()
 
print IsDuplicated
print type(IsDuplicated)
 
data = data.drop_duplicates()
print data

运行上述代码后的输出结果如下:

k 0 1 1 1 2 2 3 2

0 False 1 True 2 False 3 True

k 0 1 2 2

核心方法:duplicated与drop_duplicates

DataFrame的duplicated方法用于返回一个布尔类型的Series,该Series标识每一行是否为重复行。

而drop_duplicates方法则用于返回一个已经移除重复行的DataFrame副本。

应用场景与参数详解

这两个方法默认会判断所有列,但用户也可以指定特定的列来进行重复项的判断。

根据数据的具体情况以及处理需求,drop_duplicates通常分为两种应用场景:一是去除完全重复的行数据,二是去除指定某些列重复的行数据。针对这两种情况,可以使用以下代码进行处理。

完全去重处理

1. 去除完全重复的行数据


data.drop_duplicates(inplace=True)

指定列去重处理

2. 去除某几列重复的行数据


data.drop_duplicates(subset=['A','B'],keep='first',inplace=True)
  • subset:列名,可选参数,默认为None,用于指定进行去重判断的特定列。
    • keep参数取值:{'first', 'last', False},默认值为'first'。
    • first:保留第一次出现的重复行,删除后续出现的重复行。
    • last:删除重复项,仅保留最后一次出现的那一行。
  • False:删除所有重复项,即只要某行有重复,所有重复行均被删除。
  • inplace:布尔值,默认为False。若设为True,则直接在原DataFrame上删除重复项;若为False(默认),则返回一个去重后的副本,不修改原数据。

例如,若希望仅对名为k2的列进行去重操作,


data.drop_duplicates(['k2'])

至此,关于Python Pandas DataFrame去重函数的具体使用方法介绍完毕。如需了解更多相关内容,建议搜索本站过往文章或继续浏览后续文章,感谢支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。