Python中pandas删除数据表中的重复值的实现

 更新时间:2025年09月01日 11:04:35   作者:蒋亦森  
本文介绍pandas的drop_duplicates()方法删除数据表重复值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Python中删除数据表中重复值的方法非常多,本文主要讲解的是pandas中的drop_duplicates()方法去重。

引用pandas

import pandas as pd

若没有pandas类包,通过pip install进行安装。在终端中输入:

pip install pandas

 创建数据表:

date_range = pd.date_range(start='2025-01-01', periods=6)  # 生成日期数据

df = pd.DataFrame({'id': [1001, 1002, 1003, 1004, 1005, 1006],
                   'data': date_range,
                   'city': ['beijing', 'shanghai', 'beijing', 'Shengzhen', 'wuhan', 'beijing'],
                   'price': [23, 30, 23, 54, 26, 25]},
                  columns=['id', 'data', 'city', 'price'])

输出结果为:

print(df)

通过输出的数据表可以看出,city中第0行、第2行、第5行数据重复,要想删除重复数据的行,在pandas中可以使用drop_duplicates()函数进行删除。

drop_duplicates()函数说明:

来源于frame.py,主要参数说明如下:
subset:表示要去重的列名,默认为None。
keep:first、last、False;first表示保留首次出现的数据,last表示保留最后一个数据,False表示重复的数据全部不留。
inplace:True、False;True表示基于原数据表进行修改,False表示去重后生成一个新的copy对象。

例:

# 在原表中删除city中重复的内容,并保留首次出现的数据
df.drop_duplicates(subset=['city'],keep='first',inplace=True) 

输入结果为:

保留了第0行,删除第2行、第5行的数据。以此类推:当keep=last时,将保留第5行数据,当keep=False时,删除第0行、第2行、第5行数据。

上述为inplace=True时,在原数据表df表中对数据进行了更改。

当inplace=False时,程序将会copy一个新的数据表,在新copy的数据表中进行删除,不会影响原表的数据。

例:

df.drop_duplicates(subset=['city'],keep='first',inplace=False)
print(df)

此时输出的df数据表结果为:

df数据表中的数据没有发生变化,表示此时修改的对象非df数据表。

# 删除df数据表city列中重复的数据,并赋值值给df2
df2 = df.drop_duplicates(subset=['city'],keep='first',inplace=False) 
print(df2)

此时输出的df2数据表结果为:

从上述结果看出,当inplace=False时,程序将会copy一个新的数据表,在新copy的数据表中对重复的数据进行删除。

补充说明:

在pandas中还有一个drop_duplicates(),该方法来源于series.py。使用时会生成一个新的数据表,在使用时inplace不能为True,否则会返回None。

例:

df3 = df['city'].drop_duplicates(keep='first',inplace=False) 

输出结果为:

到此这篇关于Python中pandas删除数据表中的重复值的文章就介绍到这了,更多相关pandas删除重复值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • 在Django的URLconf中进行函数导入的方法

    在Django的URLconf中进行函数导入的方法

    这篇文章主要介绍了在Django的URLconf中进行函数导入的方法,Django是Python的最为著名的开发框架,需要的朋友可以参考下
    2015-07-07
  • python保留两位小数的五种方法

    python保留两位小数的五种方法

    很多小伙伴在学习python的时候可能会遇到对数据进行格式化输出的需求,其中最常见的需求为:保留几位小数,今天小编就以python怎么保留两位小数为例,来介绍一下python数据格式化的方法,需要的朋友可以参考下
    2024-08-08
  • Python字符串操作实战之如何提取子字符串

    Python字符串操作实战之如何提取子字符串

    这篇文章主要给大家介绍了关于Python字符串操作实战之如何提取子字符串的相关资料,字符串是Python中最常用的数据类型,大家应该都不陌生,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Python实现根据文件后缀统计文件大小并找出文件位置

    Python实现根据文件后缀统计文件大小并找出文件位置

    这篇文章主要和大家分享了一个Python脚本,主要用于统计指定文件夹内特定后缀文件的数量、大小及路径,并支持多种格式导出,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2026-05-05
  • python3之http.server模块用法

    python3之http.server模块用法

    这篇文章主要介绍了python3之http.server模块用法,具有很好的参考价值,希望对大家有所帮助,
    2023-09-09
  • pytorch masked_fill报错的解决

    pytorch masked_fill报错的解决

    今天小编就为大家分享一篇pytorch masked_fill报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • Python3解决棋盘覆盖问题的方法示例

    Python3解决棋盘覆盖问题的方法示例

    这篇文章主要介绍了Python3解决棋盘覆盖问题的方法,简单描述了棋盘覆盖问题的概念、原理及Python相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • 基于Python搭建人脸识别考勤系统

    基于Python搭建人脸识别考勤系统

    人脸识别目前正被用于让世界更安全、更智能、更方便。在本文中,你将学习如何使用 Python 构建人脸识别系统。人脸识别比人脸检测更进一步。感兴趣的可以学习一下
    2021-12-12
  • Python数据结构之优先级队列queue用法详解

    Python数据结构之优先级队列queue用法详解

    queue库提供了一个适用于多线程编程的先进先出(FIFO)数据结构,可以用来在生产者与消费者线程之间安全地传递消息或其他数据,它会为调用者处理锁定,使多个线程可以安全而更容易地处理同一个Queue实例.Queue的大小可能受限,以限制内存使用或处理,需要的朋友可以参考下
    2021-05-05
  • 详解Python数据分析--Pandas知识点

    详解Python数据分析--Pandas知识点

    这篇文章主要介绍了Python数据分析--Pandas知识点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论