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零基础入门之自定义过滤器及模板中的使用

    Django零基础入门之自定义过滤器及模板中的使用

    这篇文章主要介绍了Django零基础入门之自定义过滤器及模板中的使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • Python脚本实现自动登录校园网

    Python脚本实现自动登录校园网

    今天给大家带来的是关于Python的相关知识,文章围绕着如何使用Python脚本实现自动登录校园网展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • 如何使用Python修改matplotlib.pyplot.colorbar的位置以对齐主图

    如何使用Python修改matplotlib.pyplot.colorbar的位置以对齐主图

    使用matplotlib.colors模块可以完成大多数常见的任务,下面这篇文章主要给大家介绍了关于如何使用Python修改matplotlib.pyplot.colorbar的位置以对齐主图的相关资料,需要的朋友可以参考下
    2022-07-07
  • Python .py生成.pyd文件并打包.exe 的注意事项说明

    Python .py生成.pyd文件并打包.exe 的注意事项说明

    这篇文章主要介绍了Python .py生成.pyd文件并打包.exe 的注意事项说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python openpyxl模块原理及用法解析

    Python openpyxl模块原理及用法解析

    这篇文章主要介绍了Python openpyxl模块原理及用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)

    关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)

    今天小编就为大家分享一篇关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • PyCharm代码回滚,恢复历史版本的解决方法

    PyCharm代码回滚,恢复历史版本的解决方法

    今天小编就为大家分享一篇PyCharm代码回滚,恢复历史版本的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python协程用法实例分析

    python协程用法实例分析

    这篇文章主要介绍了python协程用法,实例分析Python中协议的概念、功能及使用方法,需要的朋友可以参考下
    2015-06-06
  • numpy.random.seed()的使用实例解析

    numpy.random.seed()的使用实例解析

    这篇文章主要介绍了numpy.random.seed()的使用实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python操作MongoDb数据库流程详解

    Python操作MongoDb数据库流程详解

    这篇文章主要介绍了Python操作MongoDb数据库流程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03

最新评论